Programas awk Ejecutables

Una vez que hayas aprendido awk, podrías querer escribir scripts de awk contenidos dentro de un Shell Script ejecutable de Unix, usando el mecanismo de script ‘#!’. Puedes hacer esto en sistemas Unix BSD y en GNU.

Por ejemplo, podrías crear un fichero texto llamado ‘hola’ que tuviese lo siguiente (donde ‘BEGIN’ es una característica todavía no vista):

#! /bin/awk -f
# un programa awk de ejemplo BEGIN { print "Hola Mundo" }

Después de hacer este fichero ejecutable (con el comando chmod), puedes teclear simplemente:

hola

desde el shell, y el sistema ejecutará el awk del mismo modo que si hubieses tecleado:

awk -f hello

Los scripts de awk auto contenidos (introducidos dentro de un Shell Script ejecutable de Unix) son útiles cuando quieres escribir un programa que puedan invocar los usuarios sin que sepan que el programa está escrito en awk.

Si tu sistema no soporta el mecanismo ‘#!’, puedes obtener un efecto similar usando un shell script regular. Sería algo del estilo a esto:

: Los dos puntos te aseguran de que este script se ejecuta con el shell de Bourne.

awk 'program' "$@"

Usando esta técnica, es vital encerrar el program entre comillas simples para proteger que el programa sea interpretado por el shell.

El `"$@"' hace que el shell se salte todos los argumentos de la línea de comando al programa awk, sin interpretación. La primera línea, que comienza con un colon, se usa de forma que este shell script funcionará incluso si es invocado por un usuario que use la C-Shell.

Publicar un comentario

0 Comentarios