El siguiente comando ejecuta un programa awk simple que busca la cadena de caracteres ‘foo’ en el fichero de entrada ‘Lista-BBS’ y si la encuentra la imprime. (Las cadenas de caracteres son normalmente llamadas cadenas. )
awk '/foo/ { print $0 }' Lista-BBS
Cuando se encuentran líneas que contengan ‘foo’, éstas son impresas, ya que ‘print $0’ hace que se imprima la línea actual.
Habrás advertido las barras, ‘/’, alrededor de la cadena ‘foo’ en el programa awk. Las barras indican que ‘foo’ es un patrón para búsqueda. Este tipo de patrón se llama expresión regular, y es cubierta con más detalle posteriormente. Existen comillas simples alrededor del programa awk para que el shell no interprete el programa como caracteres especiales de la shell.
Aquí se muestra lo que este programa imprime:
fooey 555-1234 2400/1200/300 B
foot 555-6699 1200/300 B
macfoo 555-6480 1200/300 A
sabafoo 555-2127 1200/300 C
En una regla awk, o el patrón o la acción puede ser omitida, pero no ambos. Si el patrón se omite, entonces la acción se realiza para cada línea de entrada. Si se omite la acción, la acción por defecto es imprimir todas las líneas que concuerden con el patrón.
Por lo que, podríamos omitir la acción (la sentencia print y las llaves) en el ejemplo anterior, y el resultado sería el mismo: todas las líneas que concuerden con el patrón ‘foo’ serán impresas. Por comparación, la omisión de la sentencia print pero manteniendo las llaves produce una acción vacía que no realiza nada; por lo que no se imprimirá ninguna línea.
0 Comentarios