Étape 3: Utilisation de grep.
$ grep « ed$ » Mots
…
Alfred
Américanisé
Anglicisé
Appleseed
Braille
Englished
Ethelred
Nourris
Fred
Dénudées
…
Cela génère une liste assez longue. ainsi, nous pourrions vouloir paginer la sortie.
$ grep « ed$ » Mots | moins
ou nous pourrions vouloir enregistrer la liste dans un fichier, nous pouvons modifier et lire attentivement, pour une utilisation ultérieure.
$ grep « ed$ » mots > wordfile
C’est gentil, maintenant permet de faire des lettres au début du fichier. Nous utilisons le "^" signer pour montrer que nous voulons quelque chose au début du mot.
$ grep "^ e" Mots
…
Merci
a remercié
reconnaissant
thankfuller
thankfullest
Heureusement
action de grâces
de l’action de grâces
…
Vous pouvez combiner les deux commandes afin que vous pouvez rechercher un mot qui a le début et la fin que nous voulons. Nous voulons utiliser un "*" de dire toutes les lettres peuvent aller entre les deux. Dans ce cas pensée nous voulons une des lettres « m ». "[]" Nous permet de montrer que possible ou les lettres nous voulons entre les deux.
$ grep "^ zo * [m] * ed$" Mots
Zed
zoomé
Là, vous pouvez utiliser le "[]" pour dire que je veux avoir tous les mots qui commencent par ces deux lettres.
$ grep "^ [xz] »
…
du xylème
xylophone
du xylophone
xylophones
XYLOPHONIST
xylophonists
z
zanied
Zanier
Zanies
zaniest
…
grep "^ m.. t.. s$ "Mots
manteaux de foyer
manchons
martyrs
maîtres
questions
mentors
misters
mitaines
mortels
mortiers
devises
Bouches
Mutters
mystiques
Coup par coup :
* ^-Le carat (shift-6) dit « c’est le début de la ligne ». Sans lui, il trouverait tous les mots comme « principes fondamentaux ».
* $ - Le signe dollar est la même chose, seulement pour la fin de la ligne. Sans elle, vous obtiendriez également des mots comme « matelas ».
* . -La période signifie « n’importe quel caractère ici ». L’un et une volonté unique, caractère correspondent ici.
Mais supposons que vous avez affaire à un jeu en plus croisés, comme le Scrabble par exemple, et vous êtes limité par des contraintes plus que pour les mots croisés. Vous pourriez vouloir « crochet » (jargon de Scrabble pour "Ajouter lettres vers le début ou la fin d’un mot pour former des mots plus"). Donc, nous allons voir combien de mots finissent en « y ».
paroles de « sont$ » grep ß | WC -l
43
Eh bien, ce sont de bonnes cotes. Mais nous avons atteint le bord du carton avec certains d'entre eux (j’ai jeté un œil). Ainsi, nous avons besoin des mots qui sont les sept lettres ou inférieur qui se terminent en « y ». « ^... sont$ "obtiendrait tous les mots de sept lettres, mais pas les plus courts. La solution est plutôt énigmatique cette fois :
ß grep "^ .\{1,4\}are$" Mots
billet d’avion
au courant
nu
Méfiez-vous
flonflons
soins
Comparer
Osez
déclarer
piège
fanfare
billet d’avion
FLARE
éblouissement
lièvre
Mare
pare
préparer
rare
effrayer
Partager
caisse claire
pièce de rechange
place
Stare
pas au courant
Ware
guerre
protection sociale
.. .mais nous avons rencontré le signe insertion, le signe dollar et précédant, si vraiment la nouvelle partie est le \{1,4\}. Cela dit, « correspond comme quelques un et quatre, répétitions du caractère précédent ». L’activateur pour la plage de numéros est les accolades, qui doivent ensuite être précédées d’une barre oblique (quelqu'un sait pourquoi, classe?). Et étant donné le caractère précédent est une période qui correspond à n’importe quelle lettre, nous avons trouvé tous les mots de moins de huit lettres quelle extrémité en « y ».
C’est bien beau, mais nous n’avons que tant de lettres pour travailler avec Scrabble en même temps. Supposons que notre grille actuelle a les lettres « C F T W A B M ». Pouvons nous limiter à seulement les mots qui utilisent ces lettres ?
ß grep "^ [cftwabm] \ {1, 4\} sont$" Mots
au courant
nu
soins
billet d’avion
Mare
Ware
Ah, maintenant nous obtenons quelque part ! Les crochets [] donner le jeu de caractères acceptables. Une autre façon de les utiliser est d’exprimer une gamme (par exemple, [0-9]), mais c’est difficilement le cas habituel dans les jeux de mots.
La seule limite est l’imagination. Si vous jouez scrabble, Informez vos partenaires ce que tu fais pour éviter tout préjudice moral. J’aime aussi utiliser cette même idée pour les jeux de mots croisés.