Un ejemplo muy simple AWK

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.

Publicar un comentario

0 Comentarios