Una guía rápida para escribir comandos y scripts «AWK

Una guía rápida para escribir comandos y scripts “AWK

Una guía rápida para escribir comandos y scripts «AWK

VALORACIÓN DEL ARTÍCULO:
5/5


El comando awk es un método poderoso para procesar o analizar archivos de texto, en particular archivos de datos organizados por líneas (filas) y columnas.

Los comandos simples awk pueden ejecutarse desde la línea de comandos. Las tareas más complejas deben escribirse como programas awk (los llamados scripts awk) en un archivo.

El formato básico de un comando awk es el siguiente:

 awk 'pattern {action}' input-file> output-file

Esto significa: tomar cada línea del archivo de entrada; si la línea contiene el patrón, aplicar la acción a la línea y escribir la línea resultante en el archivo de salida. Si se omite el patrón, la acción se aplica a todas las líneas. Por ejemplo:

 awk '{ print $5 }' table1.txt> output1.txt

Esta declaración toma el elemento de la quinta columna de cada línea y lo escribe como una línea en el archivo de salida "output.txt". 4) La variable "$4" corresponde a la segunda columna. Del mismo modo, puede acceder a la primera, segunda y tercera columna, con $1, $2, $3, etc. Por defecto, se supone que las columnas están separadas por espacios o tabulaciones (el llamado espacio en blanco). Por lo tanto, si el archivo de entrada "table1.txt" contiene estas líneas:

1, Justin Timberlake, Título 545, Precio $7.30
2, Taylor Swift, Título 723, Precio $7.90
3, Mick Jagger, Título 610, Precio $7.90
4, Lady Gaga, Título 118, Precio $7.30
5, Johnny Cash, Título 482, Precio $6.50
6, Elvis Presley, Título 335, Precio $7.30
7, John Lennon, Título 271, Precio $7.90
8, Michael Jackson, Título 373, Precio $5.50

Entonces el comando escribirá las siguientes líneas en el archivo de salida «output1.txt»:

545,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i723,
610,
118,
482,
335,
271,
373,

Si el separador de columna es algo distinto a espacios o tabulaciones, como una coma, puede especificarlo en la sentencia awk de la siguiente manera:

 awk -F, '{ print $3 }' table1.txt> output1.txt

Esto seleccionará el elemento de la columna 3 de cada línea si se considera que las columnas están separadas por una coma. Por lo tanto, el resultado, en este caso, sería:

 Título 545
> Título 545
Título 610
Título 118
Título 482
Título 335
Título 271
Título 373

La lista de sentencias dentro de los corchetes (‘{‘,’}’) se llama bloque. Si se pone una expresión condicional delante de un bloque, la sentencia dentro del bloque se ejecutará sólo si la condición es verdadera.

 awk '$7==="$7.30" { print $3 }'' table1.txt

En este caso, la condición es $7==»$7.30″, lo que significa que el elemento de la columna 7 es igual a $7.30. La barra invertida delante del símbolo del dólar se utiliza para evitar que el sistema interprete $7 como una variable y en su lugar tome el símbolo del dólar literalmente.

Así que esta declaración awk imprime el elemento en la tercera columna de cada línea que tiene un «$7.30» en la columna 7.

También puede utilizar expresiones regulares como condición. Por ejemplo:

< awk ‘/30/ { print $3 }’ table1.txt

La cadena entre las dos barras (‘/’) es la expresión regular. En este caso, es sólo la cadena «30». Esto significa que si una línea contiene el string «30», el sistema imprime el elemento en la tercera columna de esa línea. El resultado en el ejemplo anterior sería:

 Timberlake,
Gaga,
Presley,

Si los elementos de la tabla son números, awk puede realizar cálculos sobre ellos como en este ejemplo:

 awk '{ print ($2 * $3) + $7 }'

Además de las variables que acceden a los elementos de la fila actual ($1, $2, etc.) está la variable $0 que se refiere a la fila completa (línea), y la variable NF que mantiene el número de campos.

También puede definir nuevas variables como en este ejemplo:

< awk ‘{ sum=0; para (col=1; col=1; col<=NF; col++) sum += $col; print sum; }'

Calcula e imprime la suma de todos los elementos de cada fila.

Las declaraciones Awk se combinan frecuentemente con comandos sed.

TAMBIÉN TE INTERESA

seguridad de los datos personales

Descuidos en tu día a día que comprometen la seguridad de los datos personales

Hoy es el Día de Internet Segura, una jornada para concienciar a los usuarios sobre la importancia de cuidar la seguridad de los datos personales. La seguridad en Internet se ha convertido en una prioridad global para todos, amén del creciente número de robos virtuales e intrusiones de los delincuentes a la información sensible de

planes de entrenamiento con IA

La era de los gimnasios smart y los planes de entrenamiento con IA

El sector de los gimnasios está empezando a introducir la tecnología para sus usuarios. Los planes de entrenamiento con IA ya son una realidad en espacios como los de Metropolitan. Es cuestión de tiempo que toda la innovación que viene de la tecnología comience a aterrizar en nuestras vidas para cuidar nuestro cuerpo. De hecho,

apps de citas

Apps de citas y el fraude romántico: ligoteo y estafas

Hay a quien las apps de citas le funcionan muy bien en todos los sentidos. Además de lograr el match deseado, su seguridad no se ve comprometida en ningún momento. Así da gusto, encontrar pareja nunca fue tan sencillo. Otra cosa es que la otra persona con la que se hace match no sea la

riesgos DeepSeek

Reportan los primeros riesgos de seguridad en DeepSeek

Pocos días después de la irrupción de DeepSeek en el mundo, ya empiezan a aflorar algunos problemas relacionados con la seguridad en DeepSeek y la privacidad de los datos que emplean los usuarios. Son millones y millones personas las que ya están probando las mieles de la IA china. El modelo R1 de DeepSeek ha