Búsqueda de sitios web

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

Ejemplos de comandos Awk

Imprimir columnas específicas

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

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

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

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
$ awk '/e/ {print $0}' file.txt

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

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

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

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

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.