Lingunix

Les outils unix appliqués à la recherche linguistique et psycholinguistique

  • Augmenter la taille
  • Taille par défaut
  • Diminuer la taille
Bibliothèques de Scripts Linguistiques

Remplacer les consonnes et les voyelles par C et V dans un texte avec SED

Imprimer PDF

Commande :

cat votre_texte.txt | sed 's/[zrtpqsdfghjklmwxcvbnZRTPQSDFGHJKLMWXCVBNçÇ]/C/g; s/[aeiouyAEIOUYâêîôûäëïöüÿâêîôûÂÊÎÔÛÄËÏÖÜŸåýæÅÝÆéèÉÈàÀœŒ]/V/g' > resultat_CV.txt

Résultat :

CVCC CV CVCCV, CVVCVC CVC CVCCCVC CVCC VCCV CVCCCVCVVC CVC C CVVC CVCCVCCV VV C CVVC CVVVCCV

Explication :

Nous mettons votre_texte.txt dans un flux avec cat que nous redirigeons avec le pipe ( | ) dans l'éditeur sed. La commande sed dans laquelle nous avons redirigé le flux va remplacer dans un premier temps toutes les consonnes par la lettre C puis dans un deuxième temps toutes les voyelles par la lettre V. Le résultat sera redirigé dans le fichier resultat_CV.txt à l'aide du caractère greater than (>).

Mise à jour le Samedi, 29 Octobre 2011 16:10
 

Utiliser LEXIQUE, AWK et SORT pour obtenir une liste des mots les plus fréquents

Imprimer PDF

Commande :

cat Lexique3.txt | awk -F"\t" '{print $1,$10}' | sort -t\  -k2nr > mots_freq_decroissant_Lexique3.txt

Explication :

La commande "cat Lexique3.txt" permet de lire toutes les colonnes du fichier Lexique3.txt. Nous redirigeons le flux de la commande précédente à l'aide du pipe "|" dans l'éditeur AWK avec lequel nous ne conserverons uniquement la colonne 1 (les mots) et la colonne 2 (les frequences). Nous redirigeons ce flux dans le filtre sort avec lequel nous ordonnons par ordre décroissant la deuxième colonne du tableau correspondant aux fréquences. Pour finir, nous redirigeons le résultat dans le fichier mots_freq_decroissant_Lexique3.txt à l'aide du caractère de redirection greater than ">".

Résultat :

la 23633.92
et 20879.73
à 19209.05
le 18310.95
il 15832.09
les 14662.3
un 13550.68
l' 12746.76
d' 11876.35
...

Télécharger le résultat complet de ce sript : Liste des mots les plus fréquents avec LEXIQUE

Mise à jour le Dimanche, 17 Avril 2011 11:39
 

Générer un dictionnaire comprenant tous les adjectifs de la langue française avec AWK

Imprimer PDF

Commande :

awk -F"\t" '{print $1,$4}' Lexique3.txt | grep ADJ$ > dictionnaire_adjectifs_fr.txt

Résultat:

abattus ADJ
abbatial ADJ
abbatiale ADJ
abbatiales ADJ
abdominal ADJ
abdominale ADJ
...

Explication :

Dans ce script nous avons fait appel à la base de donnée Lexique3.txt. Nous avons à l'aide de la commande AWK extrait les colonnes 1 et 2 de la base Lexique3.txt correspondant respectivement au mot (colonne 1) et à sa nature (colonne 2).

Nous avons ensuite redirigé le flux de données à l'aide du pipe (le bâtonnet vertical) dans le filtre grep ne laissant passer ici uniquement les lignes se terminant par ADJ (pour adjectif).

Pour finir nous redirigeons le résultat de notre commande dans le fichier dictionnaire_adjectifs_fr.txt à l'aide du caractère "greater than".

Voir le dictionnaire des adjectifs de la langue française trié par ordre de fréquence (décroissant).

Mise à jour le Jeudi, 31 Mars 2011 10:06
 

Renommer les caractères spéciaux de tous les fichiers d'un dossier avec rename

Imprimer PDF

Commande :

rename 's/\W/_/g' *

Résultat :

Tous les caractères spéciaux présents dans le nom des fichiers et dossiers dans un dossier sont remplacés par un tiret bas.

Remarque :

Il est nécessaire au préalable de se déplacer dans le dossier contenant les fichiers à renommer à l'aide de la commande cd.

Mise à jour le Samedi, 29 Octobre 2011 16:50
 

Calculer la fréquence d'occurence des bigrammes dans la langue française

Imprimer PDF

Commande :

for i in `echo {a..z}{a..z} | sed -e 's/\ /\n/g'`; do echo "$i `grep $i -ic liste_mots_mix.txt`" | awk -F"\ " '{print $1,$2,$2/286144}'; done | sort -t\  -k2nr >> freq_bigramme.txt

Résultat :

BI NBRE FREQ

er 67387 0.2355
on 57670 0.201542
nt 55588 0.194266
ra 53516 0.187025
en 50668 0.177072
es 48617 0.169904
re 46935 0.164026
ai 45629 0.159462
is 42307 0.147852
ie 39331 0.137452
ss 36994 0.129285

Explication :

Ce script calcule la fréquence des mots dans lesquels apparaissent toutes les combinaisons de bigrammes générées arbitrairement avec « l'expansion d'accolades » de la commande echo (echo {a..z}{a..z}). Le dictionnaire utilisé ici est issu de la fusion des lexiques de Louis Bronne, René Cougnenc, Serge Delbono et celui de JC Bellamy. Les fréquences sont calculées avec l'outil awk, et les résultats sont triés par ordre décroissant à l'aide de la commande sort (sort -t\  -k2nr).

Note : cette commande peut mettre plusieures minutes pour s'executer, soyez patients !

Mise à jour le Samedi, 29 Octobre 2011 16:56
 

Générer un dictionnaire de bigrammes et de trigrammes avec echo

Imprimer PDF

Commande :

Dictionnaire de Bigrammes :

echo {a..z}{a..z} > dictionnaire_bigramme.txt

Résultat :

aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu ...

Dictionnaire de Trigrammes :

echo {a..z}{a..z}{a..z} > dictionnaire_trigramme.txt

Résultat :

aaa aab aac aad aae aaf aag aah aai aaj aak aal aam aan aao aap aaq aar aas aat aau aav aaw aax aay aaz aba abb abc abd abe abf abg abh abi abj abk abl abm ...

Explication  :

La commande unix echo permet tout simplement d'écrire une chaine de caractères. Nous utilisons ici « l'expansion d'accolades » ( {a..z}{a..z} ) afin de générer une chaine de caractères croissante (de a à z) composée de deux et trois caractère.

Mise à jour le Samedi, 29 Octobre 2011 16:58
 

AWK : Calculer la moyenne du nombre de lettres dans les mots en Français

Imprimer PDF

Commande :

awk -F"\t" '{sum +=$15} END {print sum/NR}' Lexique3.txt | less

Résultat :

8.86738

Ce chiffre est le nombre moyen de lettres dans chaque mot du dictionnaire Lexique3.txt (lexique.org).

Explication :

Ici on utilise la base de donnée Lexique.txt. La quizième colonne donne le nombre de lettres pour chaque mot, nous les additionnons toutes (sum +=$15) puis nous divisons le résultat par le nombre total de lignes de la base Lexique.txt (print sum/NR).

Mise à jour le Vendredi, 07 Janvier 2011 13:34
 

Lire une ou plusieures colonnes avec AWK dans un tableau

Imprimer PDF

Commande :

awk -F"\t" '{print $1,$4}' Lexique3.txt | less

Résultat :

Ce script écrit en awk nous donne les mots avec leur nature dans la langue française dans deux colonnes.

abaissait VER
abaissant ADJ
abaissant VER
abaissante ADJ
abaisse NOM

Explication :

Nous avons extrait avec AWK la premiere colonne ($1) et la quatrième colonne ($4) du tableau Lexique3.txt (téléchargeable sur lexique.org). Dans ce tableau, le caractère séparateur est "tabulation" (-F"\t"). L'éditeur less est employé ici pour faciliter la vue des résultats.

Mise à jour le Samedi, 29 Octobre 2011 17:33