# dico.awk BEGIN { fs = "tmp.tmp" } (FNR==1) { print " Traitement des mots dans : " FILENAME } { nbl ++ # comptage des lignes gsub(/[\"',.%#/]/ , " ") # filtrage des séparateurs gsub(/[-();:!]/, " ") # élmination de la ponctuation for (i=1;i<=NF;i++) { ++mot[ $i ] } # comptage des mots nbm += NF } # fin du traitement de chacune des lignes END { for (x in mot) { if (length(x)>35) { x = substr(x,1,35) } printf("%-40s %6d\n", x , mot[x]) > fs nbmd++ } # fin pour close(fs) fmot = "dico.tpm" focc = "dico.tpo" system("sort " fs " > " fmot ) system("sort -k 2rn -k 1 " fmot " > " focc ) print " on a vu " nbm " mot(s) sur " nbl " ligne(s) et " nbmd " mots différents " print " le fichier " fmot " contient les mots par ordre alphabétique " print " le fichier " focc " contient les mots par ordre décroissant d'occurence " } # fin de END