Paso 3: Usar grep.
palabras de grep 'ed$ ' $
…
Alfred
Americanizada
Inglés
Appleseed
Braille
Englished
Ethelred
Alimentados con
Fred
Frenched
…
Esto genera una lista bastante larga. así que podríamos queremos paginar la salida.
palabras de grep 'ed$ ' $ | menos
o podríamos queremos guardar la lista en un archivo podemos editar y leer cuidadosamente para su uso posterior.
palabras de grep 'ed$ ' $ > wordfile
Es bueno, ahora vamos a hacer letras al principio del archivo. Utilizamos el "^" firmar para mostrar que queremos algo al principio de la palabra.
$ grep "^ th" palabras
…
Gracias
agradeció a
agradecido
thankfuller
thankfullest
Gracias a Dios
agradecimiento
de agradecimiento
…
Puede combinar los dos comandos para que pueda encontrar una palabra que tiene el principio y el final que queremos. Queremos usar un "*" decir cualquier letras pueden ir en el medio. En este caso probablemente queremos una de las cartas que "m". Utilizamos "[]" para mostrar que posible letra o letras que deseamos en el medio.
$ grep "^ zo * [m] * $ed" palabras
Zed
zoom
Se puede utilizar el "[]" para decir que quiero tener las palabras que comienzan con estas dos letras.
$ grep "^ [xz]"
…
de xilema
Baquetas de xilófono
de xilófono
xilófonos
xylophonist
xylophonists
z
zanied
zanier
zanies
más extravagantes
…
grep "^ m.. t... s$ "palabras
chimeneas de la
mantos de
mártires
maestros
Asuntos
mentores
mm.
mitones
mortales
Morteros de
lemas
mouthes
Mutters
místicos
Golpe por golpe:
* ^-Quilate (shift-6) dice "este es el principio de la línea". Sin ella, encontrarían todas las palabras como "fundamentos".
* $ - El signo de dólar es lo mismo, sólo para el final de la línea. Sin él, se podrían obtener también palabras como "colchones".
* . -El período significa "cualquier carácter aquí". Uno y una voluntad única, carácter partido aquí.
Pero supongamos que usted está tratando con un juego además de un crucigrama, como Scrabble, por ejemplo, y está limitada por restricciones más que en un crucigrama. Quizá quieras 'gancho' (jerga de Scrabble para ' agregar letras al principio o al final de una palabra para formar palabras más'). Por lo tanto, vamos a ver cuántas palabras terminan en "son".
"son$" palabras de ß grep | WC -l
43
Bueno, son buenas probabilidades. Pero nos golpeó el borde de la tabla con algunos de ellos (me asomé). Por lo tanto, necesitamos palabras que son siete letras o menos que terminan en "son". «^... son$ "tendría todos las palabras de siete letras, pero no los más cortos. La solución es algo críptica de este tiempo:
ß grep "^ .\{1,4\}are$" palabras
boletos de avión
consciente
desnudo
Tenga cuidado con
fragor
cuidado
Comparar
se atreven
declarar
atrapar a
fanfarria
tarifa
llamarada
fulgor
liebre
Mare
Pare
preparar
raro
SCARE
Compartir
SNARE
Repuestos
Plaza
mirada fija
no
Ware
guerra
bienestar
.. .pero hemos conocido el símbolo de intercalación, signo de dólar y antes, así que en realidad la parte nueva es la \{1,4\}. Esto dice "match como repeticiones de solo uno y cuatro, del personaje anterior". El activador para el rango de los números es las llaves, que luego tienen que ser escapado con barras (¿alguien sabe por qué, clase?). Y puesto que el carácter anterior es un período, que coincide con cualquier letra, hemos encontrado todas las palabras menos de ocho letras que terminan en "son".
Esto está muy bien, pero sólo tenemos tantas cartas para trabajar con en Scrabble al mismo tiempo. Decir que nuestro estante del actual tiene las letras "C F T W A B M". ¿Podemos limitar a sólo las palabras que usan esas letras?
ß grep "^ [cftwabm] \ {4\, 1} son$" palabras
consciente
desnudo
cuidado
tarifa
Mare
Ware
Ah, ahora estamos en algún lugar! Los corchetes [] dar el conjunto de caracteres aceptables. Otra forma de utilizarlos es expresar una gama (por ejemplo [0-9]), pero es apenas el caso habitual en juegos de palabras.
La única limitación es la imaginación. Si estás jugando scrabble, que sus socios saben lo que hacer para evitar cualquier sentimiento herido. Me gusta usar esta misma idea para crucigramas también.