-
Cómo pasar variables de AWK Shell
-
AWK es una extracción de datos Unix y servicio público en cuestión con su propio lenguaje de script que realiza la manipulación y transformación de los datos textuales y salidas de informes formateados; la entrada proviene de archivos o datos de entrada estándar. AWK es una herramienta útil para proporcionar un filtrado adicional de los datos y la manipulación en una tubería de Unix. AWK generalmente toma la entrada de la línea de comandos shell, pero de vez en cuando las variables pasan a un script puede ser utilizado por la utilidad para llevar a cabo sus acciones. AWK es útil para transformar los datos transmitidos desde la shell de Unix.Instrucciones
1 Crear un script de shell llamado "awkparam.sh" y que sea ejecutable en la línea de comandos escribiendo:
awkparam.sh; chmod + x awkparam.sh
Esto crea un archivo de script vacío en el directorio actual con permisos de ejecución.
2 Editar y guardar el script de shell con el editor de texto favorito yout y colocar estos comandos en ella:
var = prueba
echo $ var | awk '{print $ var}'
Esto tomará el valor de la variable "var" y el valor de salida, en este caso el valor es "prueba". Ejecutar el script desde la línea de comandos con:
./awkparam.sh
Esta emite el valor de la variable almacenada, "prueba".
3 Editar el script awkparam.sh de nuevo, pero esta vez entre los siguientes mandatos y guardarlo:
var = $ 1
var2 = $ 2
echo "$ var $ var2" | awk '{print $ 1 $ 2}'
Ahora ejecute el comando desde la línea de comandos con:
test2 prueba ./awkparam.sh
Esta es la salida el valor:
test2 prueba
a la pantalla. En este caso Awk ha tomado las variables guardadas, "var" y "var2" y les convierte en su propia representación interna utilizando los parámetros de impresión de $ 1 y $ 2.
Consejos y advertencias
- Distinguir entre los parámetros ($ 1, $ 2, etc.) pasados a un script de shell de los valores de $ 1, $ 2 en la línea de comandos de AWK mediante el comando "imprimir". Ellos tienen diferentes significados, en la que $ 1, $ 2 pasan a un script de shell son parámetros externos, pero en un comando AWK "imprimir" se refieren a la posición de los campos que se le pasan, como "test2 prueba." Experimento para que se vea cómo funcionan en la práctica.