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 |
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.