• [^] # Re: ajout

    Posté par . En réponse au journal apprendre à lire et à dactylographier en chinois avec des outils libres. Évalué à 3.

    … Et le script d'ajout de la ligne Wubi après analyse de texte :

    Chinese.2.wubi.sh (dénommé Chinese.sh dans le texte )

    #!/bin/bash
    # set -xv 
    # prend en entré un fichier txt formaté par cantofish 
    # cantofish à fait office de segmenteur manuel 
    rm -rf /tmp/chinese2Wubi/ 
    mkdir /tmp/chinese2Wubi/
    echo "Entrez le chemin du fichier : "
    read cantoDicInput
    # enregistrer le path dans un fichier
    echo "$cantoDicInput" > /tmp/chinese2Wubi/cantoDic.var.0.1.txt
    cantoDic=$(cat /tmp/chinese2Wubi/cantoDic.var.0.1.txt)
    chineseWubi=/tmp/chinese2Wubi/chinese.wubi.code.0.1.txt
    cantoDicWc=/tmp/chinese2Wubi/cantoDicWc.0.1.txt
    chineseWubi2=/tmp/chinese2Wubi/chinese.wubi.code.0.2.txt
    chineseWubi3=/tmp/chinese2Wubi/chinese.wubi.code.0.3.txt
    chineseZhWb=/tmp/chinese2Wubi/chinese.zh.wb.0.1.txt
    chineseCol=/tmp/chinese2Wubi/chineseCol.0.1.txt
    # chineseZhong=/tmp/chinese.zhongwen.0.1.txt
    #chineseZhWb=/tmp/chinese.zh.wb.0.1.txt
    #Format content and create second file for wubi code 
    # prend seulement les signes chinois de la premieère colonne et les placer en horizontal 
    #cut -f2 "$cantoDic" | cut -d " " -f1 | tr '\n' '\t' > "$chineseZhong" 
    tr -d '\n' < $cantoDic > $chineseWubi
    #cp "$cantoDic" "$chineseWubi"
    # nombre de signes (necessaire pour les colonnes sous awk ) 
    cat "$chineseWubi" | wc -w > "$cantoDicWc"
    # remplacement dans le fichier copie de l'originaire des espaces par des tabulations pour remplacer créer fichier "csv-like" 
    cat $chineseWubi | tr ' ' '\t' > $chineseWubi3
    # # Inventaire En sortie 
    # # 
    # # 1 fichier path ( /tmp/cantoDic.var.0.1.txt ) , but utiliser pour copier fichier originaire 
    # # 1 copie du fichier originaire ( /tmp/chinese.wubi.code.0.1.txt ) , but utiliser pour convertir en wubi tout en préservant fichier originaire 
    # # 1 fichier nombre de mot (wc , wordcount :/tmp/cantoDicWc.0.1.txt ) , but utiliser pour calculer le nombre de colonne pour awk
    # # # zh2wubi format section 
    # conversion en wubi ( /tmp/chinese.wubi.code.0.1.txt ) 
    cat $chineseWubi3 | uniconv -encode Chinese-WB >> "$chineseWubi2"
    # remplacement dans le fichier wubi des espaces par des points pour séparer les groupes de mots en code wubi
    cat "$chineseWubi2" | tr ' ' '.' > "$chineseZhWb"
    # Inventaire sortie 
    # le fichier wubi est convertie 
    # l'espace est remplacé par un point entre les codes wubi
    # # # wubi mix section
    # Add wubi line 
    cat "$chineseWubi3" > "$chineseCol"
    echo -e "" >> "$chineseCol"
    cat "$chineseZhWb" >> "$chineseCol"
    echo -e "" >> "$chineseCol"
    echo -e "" >> "$chineseCol"
    #firefox "/tmp/chinese.test.0.1.txt" & 
    cantoDic=$(cat /tmp/chinese2Wubi/cantoDic.var.0.1.txt)
    cantoDicWc=/tmp/chinese2Wubi/cantoDicWc.0.1.txt
    wubiFinal=/tmp/chinese2Wubi/wubi.txt
    wubiFinalTab=/tmp/chinese2Wubi/wubi.final.0.1.txt
    wubiFinalTab2=/tmp/chinese2Wubi/wubi.final.0.2.txt
    chineseZhWb=/tmp/chinese2Wubi/chinese.zh.wb.0.1.txt
    compteur=1
    nombre_de_colonne=9
    borne_fin=$(expr $(cat "$cantoDicWc" ) / "$nombre_de_colonne" )
    debut=1
    suite=9
    #touch $wubiFinal
    while [ "$compteur" -le "$borne_fin" ]
    do 
    awk -v f="$debut" -v t="$suite" '{ for (i=f; i<=t;i++) printf("%s%s", $i,(i==t) ? "\n" : OFS) }' "$chineseCol" >> "$wubiFinal"
    echo -e "" >> "$wubiFinal"
    compteur=$(expr "$compteur" + 1)
    debut=$(expr "$suite" + 1 ) 
    suite=$(expr "$nombre_de_colonne" \* "$compteur" )
    done
    cat "$wubiFinal" | tr ' ' '\t' > "$wubiFinalTab"
    #cat "$wubiFinalTab" | tr '.' ' ' > "$wubiFinalTab2"
    echo "le fichier est dans" "$wubiFinalTab"