GNU/Linux >> Tutoriales Linux >  >> Linux

Comando AWK en Linux/Unix

AWK es adecuado para la búsqueda y el procesamiento de patrones. El script se ejecuta para buscar uno o más archivos para identificar patrones coincidentes y si dichos patrones realizan tareas específicas. En esta guía, echamos un vistazo al comando AWK Linux y vemos lo que puede hacer.

¿Qué operaciones puede hacer AWK?

  • Escaneo de archivos línea por línea
  • Dividir cada línea de entrada en campos
  • Comparación de líneas y campos de entrada con patrones
  • Realización de acciones específicas en líneas coincidentes

Utilidad del comando AWK

  • Cambio de archivos de datos
  • Producción de informes formateados

Conceptos de programación para el comando awk

  • Dar formato a las líneas de salida
  • Condicional y bucles
  • Operaciones aritméticas y de cadenas

Sintaxis AWK

$ awk options 'selection _criteria {action }' input-file > output-file

Para demostrar más sobre el uso de AWK, vamos a usar el archivo de texto llamado file.txt

1.ª columna => Artículo,
2.ª columna => Modelo
3.ª columna => País
4.ª columna => Coste

Ejemplos de comandos Awk

Impresión de columnas específicas

Para imprimir las columnas 2 y 3, ejecute el siguiente comando.

$ awk '{print $2 "\t" $3}' file.txt

Salida

Imprimir todas las líneas en un archivo

Si desea listar todas las líneas y columnas en un archivo, ejecute

$ awk ' {print $0}' file.txt

Salida

Imprimir todas las líneas que coinciden con un patrón específico

si desea imprimir líneas que coincidan con un determinado patrón, la sintaxis es la que se muestra

$ awk '/variable_to_be_matched/ {print $0}' file.txt

Por ejemplo, para hacer coincidir todas las entradas con la letra 'o', la sintaxis será

$ awk '/o/ {print $0}' file.txt

Salida

Para hacer coincidir todas las entradas con la letra 'e'

$ awk '/e/ {print $0}' file.txt

Salida

Imprimir columnas que coincidan con un patrón específico

Cuando AWK localiza una coincidencia de patrón, el comando ejecutará todo el registro. Puede cambiar el valor predeterminado emitiendo una instrucción para mostrar solo ciertos campos.

Por ejemplo:

$ awk '/a/ {print $3 "\t" $4}' file.txt

El comando anterior imprime las columnas 3 y 4 donde aparece la letra 'a' en cualquiera de las columnas

Salida

Contar e imprimir patrones coincidentes

Puede usar AWK para contar e imprimir el número de líneas para cada coincidencia de patrón. Por ejemplo, el siguiente comando cuenta el número de instancias en las que aparece un patrón coincidente

$ awk '/a/{++cnt} END {print "Count = ", cnt}' file.txt

Salida

Imprimir líneas con más o menos de un número de caracteres

AWK tiene una función de longitud incorporada que devuelve la longitud de la cadena. Desde el comando, la variable $0 almacena la línea completa y, en ausencia de un bloque de cuerpo, se toma la acción predeterminada, es decir, la acción de imprimir. Por lo tanto, en nuestro archivo de texto, si una línea tiene más de 18 caracteres, la comparación resulta verdadera y la línea se imprime como se muestra a continuación.

$ awk 'length($0) > 20' file.txt

Salida

Guardar la salida de AWK en un archivo diferente

Si desea guardar la salida de sus resultados, utilice el operador de redirección>. Por ejemplo

$ awk '/a/ {print $3 "\t" $4}' file.txt > Output.txt

Puede verificar los resultados usando el comando cat como se muestra a continuación

$ cat output.txt

Salida

Conclusión

AWK es otro script de programación simple que puede usar para manipular texto en documentos o realizar funciones específicas. Los comandos compartidos son algunos o los muchos que aún debe conocer o encontrar.


Linux
  1. Comando wc de linux

  2. Comando grep de Linux

  3. Ejemplos de comandos ln en Linux

  4. Ejemplos de comandos de archivo en Linux

  5. ejemplos de comandos tail en UNIX/Linux

Comando Stat en Linux

Comando Awk en Linux

Comando mkdir en Linux/Unix

Comando Grep en Linux/UNIX

Comando ls en Linux/UNIX

comando cp en Linux/UNIX