next up previous contents Next: Redirections avec >&. Up: Flux et sed comme Previous: Tubes et opérateur |   Table des matières  

9.4 Exemple d'un tube complexe.

Dans le chapitre 6, nous avons appliqué grep à un dictionnaire anglais pour aborder les expressions rationnelles. Voyons comment faire un dictionnaire de mots (votre dictionnaire de base peut se trouver dans /var/share/ ou /usr/lib/spell):

cat /usr/lib/aspell/fr-60-only.rms | strings | tr 'A-Z' 'a-z' \ 
| grep '^[a-z]' | sort -u > mon_dico  


[Un backslash comme dernier caractère d'une ligne indique que la ligne se poursuit. Vous pouvez omettre le \ mais vous devrez aussi omettre la nouvelle ligne. Ceci est connu sous le nom de continuité de ligne (ou line continuation)].

Le fichier fr-60-only.rms contient un dictionnaire UNIX usuellement utilisé pour les corrections orthographiques. En triant un peu, vous créerez un dictionnaire qui permet d'aisément résoudre des mots croisés. Tout d'abord, nous employons la commande string, vue à la section 5.9, pour extraire les octets lisibles du texte. En l'occurrence, nous avons tiré parti de son mode alternatif: elle lit à partir de stdin lorsqu'aucun fichier ne lui est passé en argument. La commande tr (abréviation pour translate (traduire)) convertit les majuscules en minuscules. La commande grep filtre alors les lignes ne débutant pas par une lettre. Finalement, la commande sort trie les mots par ordre alphabétique. L'option -u signifie unique, et précise que les lignes multiples doivent être éliminées. Essayez less mon_dico.


next up previous contents Next: Redirections avec >&. Up: Flux et sed comme Previous: Tubes et opérateur |   Table des matières  
1-01-2006