Cómo usar AWK para imprimir campos y columnas en el archivo
- 4309
- 515
- Claudia Baca
En esta parte de nuestra serie de comandos de Linux AWK, echaremos un vistazo a una de las características más importantes de Asombrar, que es edición de campo.
Es bueno saber que Asombrar divide automáticamente las líneas de entrada que se les proporcionan en los campos, y un campo puede definirse como un conjunto de caracteres que están separados de otros campos por un separador de campo interno.
AWK Fields y columnasSi está familiarizado con el UNIX/Linux o realiza la programación de Shell Bash, entonces debe saber qué separador de campo interno (IFS) variable es. Los IFS predeterminados en AWK son pestaña y espacio.
Así es como funciona la idea de separación de campo en Asombrar: Cuando se encuentra con una línea de entrada, de acuerdo con el IFS definido, el primer conjunto de caracteres es el campo uno, al que se accede usando $ 1, El segundo conjunto de caracteres es el campo dos, al que se accede usando $ 2, El tercer conjunto de caracteres es el campo tres, al que se accede usando $ 3 y así sucesivamente hasta el último conjunto de personajes.
Para comprender mejor esta edición de campo AWK, echemos un vistazo a los ejemplos a continuación:
Ejemplo 1: He creado un archivo de texto llamado tecmintinfo.TXT.
# VI TECMINTINFO.txt # cat tecmintinfo.TXTCrear archivo en Linux
Luego desde la línea de comando, intento imprimir el primero, segundo y tercero campos del archivo tecmintinfo.TXT Usando el comando a continuación:
$ awk '// imprimir $ 1 $ 2 $ 3' tecMintinfo.TXT Tecmenta.Comisthe
De la salida anterior, puede ver que los caracteres de los primeros tres campos se imprimen en función del IFS definido que es espacio:
- Campo uno que es "Tecmint.com " se accede usando
$ 1
. - Campo dos que es "es" se accede usando
$ 2
. - Campo tres que es "el" se accede usando
$ 3
.
Si ha notado en la salida impresa, los valores de campo no están separados y así es como se comporta la impresión de forma predeterminada.
Para ver la salida claramente con el espacio entre los valores de campo, debe agregar (,)
operador de la siguiente manera:
$ awk '// imprimir $ 1, $ 2, $ 3; 'TecMintinfo.TXT Tecmenta.com es el
Una cosa importante a tener en cuenta y siempre recordar es que el uso de ps
en Asombrar es diferente de su uso en las secuencias de comandos.
Bajo scripting de concha ps
se usa para acceder al valor de las variables mientras está en Asombrar ps
Se usa solo cuando se accede al contenido de un campo pero no para acceder al valor de las variables.
Ejemplo 2: Echemos un vistazo a otro ejemplo usando un archivo que contiene varias líneas llamadas my_shoping.lista.
No hay item_name unit_price precio 1 mouse #20,000 1 #20,000 2 monitor #500,000 1 #500,000 3 Ram_chips #150,000 2 #300,000 4 Ethernet_cables #30,000 4 #120,000
Di que solo querías imprimir Precio unitario
De cada elemento en la lista de compras, deberá ejecutar el comando a continuación:
$ awk '// imprimir $ 2, $ 3' my_shopping.TXT Item_name unit_price Mouse #20,000 Monitor #500,000 Ram_chips #150,000 Ethernet_cables #30,000
Asombrar También tiene un printf
El comando que lo ayuda a formatear su salida es una buena manera, ya que puede ver que la salida anterior no está lo suficientemente clara.
Usando printf
Para formatear la salida del Nombre del árticulo y Precio unitario:
$ awk '// printf " %-10s %s \ n", $ 2, $ 3' my_shopping.TXT Item_name unit_price Mouse #20,000 Monitor #500,000 Ram_chips #150,000 Ethernet_cables #30,000
Resumen
La edición de campo es muy importante cuando se usa Asombrar Para filtrar texto o cadenas, le ayuda a obtener datos particulares en columnas en una lista. Y siempre recuerde que el uso de ps
operador en Asombrar es diferente de la de las secuencias de comandos.
Espero que el artículo haya sido útil para usted y para cualquier información adicional requerida o preguntas, puede publicar un comentario en la sección de comentarios.
- « Cómo usar AWK y expresiones regulares para filtrar texto o cadena en archivos
- EBook presentando el django comenzando con Python Basics »