El comando awk te permite explorar archivos y llevar a cabo de­te­r­mi­na­das acciones. El origen del comando de Linux se remonta a 1977.

¿Qué es el comando awk de Linux?

awk permite que Linux analice y edite archivos en su lenguaje de scripting y pro­gra­ma­ción. awk se creó en 1977 y su nombre hace re­fe­re­n­cia a sus tres de­sa­rro­lla­do­res, Alfred Aho, Peter Wei­n­be­r­ger y Brian Kernighan. El comando awk es una he­rra­mie­n­ta que se utiliza desde la línea de comandos o desde una SSH (Secure Shell). Además, funciona de forma parecida al comando grep de Linux, ya que permite buscar ciertos patrones en los archivos y, en de­te­r­mi­na­das ci­r­cu­n­s­ta­n­cias, mo­di­fi­car­los de forma au­to­má­ti­ca en función de pa­rá­me­tros pre­de­fi­ni­dos.

¿Cómo funciona el comando awk?

awk utiliza una co­m­bi­na­ción de co­n­di­cio­nes y se­n­te­n­cias. Una vez se ejecuta el comando awk para un archivo concreto, recorre todas y cada una de sus líneas y comprueba si cumple una condición pre­de­te­r­mi­na­da. La sentencia del comando awk se ejecuta en cada una de las líneas que cumplen la condición. Si el comando awk no tiene ninguna condición pre­de­fi­ni­da, la sentencia se ejecuta en todas las líneas del archivo. Si el comando awk no tiene ninguna sentencia pre­de­fi­ni­da, se ejecuta la sentencia estándar de la línea de comandos. Es decir, puedes utilizar awk en Linux para, por ejemplo, buscar términos o patrones dentro de archivos.

¿Cómo es la sintaxis del comando awk?

La sintaxis del comando awk en Linux es la siguiente:

$ awk [opción] "condición {sentencia}" [archivo obtenido]
shell

¿Qué opciones tiene el comando awk de Linux?

Hay tres posibles opciones:

  • -F [Separador]: define el elemento separador de un archivo. El valor por defecto es el espacio.
  • -f [nombre de fichero]: es­pe­ci­fi­ca el archivo en el que se debe ejecutar el comando awk.
  • -v: se utiliza para añadir una variable.

Ejemplo del comando awk

Te vamos a poner un ejemplo sencillo para que veas cómo se utiliza el comando awk y cómo funciona. Para ello, vamos a utilizar un archivo llamado ejemplo.txt, que contiene tres columnas con una lista de ciudades, países y co­n­ti­ne­n­tes. El archivo tiene el siguiente aspecto:

Ciudad País Continente
Berlín Alemania Europa
París Francia Europa
Hanoi Vietnam Asia
Abuja Nigeria África
shell

Utiliza el siguiente comando para mostrar el archivo completo:

$ awk "{print $0}" ejemplo.txt
shell

La cosa se pone más in­te­re­sa­n­te si solo quieres mostrar de­te­r­mi­na­das columnas. En el ejemplo a co­n­ti­nua­ción mostramos la primera y tercera columna:

$ awk "{print $1, $3}" ejemplo.txt
shell

El resultado que se obtiene es el siguiente:

Berlín Europa
París Europa
Hanoi Asia
Abuja África
shell
Ir al menú principal