Mantente al día sobre las novedades de tu asunto favorito

Aprende a crear sitios web increíbles con facilidad

Usa el poder de Internet para promocionar tu negocio

Inspírate con las estrategias de grandes empresas

Contenido variado para potenciar los resultados de tu proyecto

La confirmación de tu inscripción ha sido enviada a tu correo electrónico

¡Gracias por suscribirte, esperamos que disfrutes nuestros contenidos!

Destacado en la categoría:

Aprende a usar el comando awk en Linux. Descubre cómo filtrar columnas, manipular texto y personalizar separadores de manera sencilla.

El comando awk en Linux tiene varias funciones y niveles de complejidade. Con él, puedes filtrar columnas en un texto e incluso crear lógicas para manipular contenido. En este artículo, aprenderás lo básico sobre cómo usar el comando awk en Linux. ¿Vamos allá?

¿Qué es el comando awk?

El comando awk es un lenguaje de script que resulta muy útil cuando trabajas con la línea de comandos. Se usa comúnmente para la manipulación de texto.

Por ejemplo, imagina que tienes un archivo con cinco columnas, donde cada columna contiene información diferente sobre una línea. Si consideras que solo es necesario ver la primera y la tercera columna, puedes crear fácilmente este filtro con awk. A continuación, veremos cómo hacerlo.

Cómo usar awk

El comando awk ofrece muchas funcionalidades, por lo que al principio puede parecer un poco complicado adaptarse. Te sugiero que sigas este artículo ejecutando los comandos directamente en tu terminal de Linux para familiarizarte con el comando.

Verificando a versão do awk

Para verificar a versão do awk execute o seguinte comando em seu terminal:

$ awk --version

Instalar awk

Si intentaste verificar la versión de awk con el comando anterior y no funcionó, es posible que no tengas awk instalado en tu distribución de Linux. Ejecuta el siguiente comando para instalar awk (es necesario tener permisos de root):

$ sudo apt-get install gawk

Cómo mostrar el contenido de un archivo

El comando awk permite visualizar el contenido de un archivo, siendo una de las formas más simples de usarlo. Para mostrar el contenido de un archivo, ejecuta el siguiente comando:

$ awk '{print}'ARCHIVO

Supongamos que tenemos un archivo llamado clientes.txt que contiene el siguiente contenido:

Nobre Edad Estado Clase
Ana 25 SC A
Armando 33 RJ B
Gustavo 32 SP A
Hugo 19 SP C
Julia 28 RS B
Luis 22 BA B
Rafaela 41 ES A
Victor 33 PI A

Usando awk, podemos mostrar el contenido del archivo clientes.txt con el siguiente comando:

codigo awk - paso 1

Filtrar columnas en un archivo

El comando awk permite filtrar una columna específica de un archivo o texto. Por defecto, awk entiende que el separador de las columnas es un espacio o un tabulador, aunque esto se puede redefinir si es necesario.

Para hacerlo, simplemente ejecuta el siguiente comando:

$ awk '{print $NUMERO-DA-COLUNA}' ARCHIVO

Mira un ejemplo a continuación de cómo awk filtra la primera columna del archivo clientes.txt que mencionamos anteriormente:

Codigo awk - paso 2

Además, también es posible filtrar más de una columna. Mira un ejemplo de cómo awk filtra la primera y la tercera columna del archivo clientes.txt:

Codigo - awk paso 3

Filtrando columnas de una cadena

El comando awk también puede filtrar el contenido de una cadena usando el símbolo de pipe (|) para encadenar la salida de otro comando.

Por ejemplo, al usar el comando ls -la, se muestra en el terminal todos los archivos que están en el directorio actual, junto con sus nombres e información:

Codigo awk - paso 4

Usa awk de la siguiente manera para filtrar una columna de una cadena:

$ ls -la | awk '{print $NUMERO-DE-LA-COLUMNA}'

Mira un ejemplo filtrando solo la novena columna:

Codigo AWK - paso 5

Filtrar una columna usando otro patrón de separación

A veces, queremos filtrar una columna, pero no está separada por un espacio o tabulador, sino por otro carácter. En ese caso, necesitamos definir cuál será el carácter que se usará como separador de columnas en el contenido.

Para hacerlo, usamos la siguiente expresión:

$ awk -F 'CARACTER' '{print $NUMERO-DE-LA-COLUMNA}' ARCHIVO

Supongamos que el archivo urls-blog-hostgator.txt contiene el siguiente contenido de HostGator Brasil:

https://hostgator.com.br/blog/como-adicionar-o-google-analytics-no-wordpress
https://hostgator.com.br/blog/como-adicionar-um-favicon-no-wordpress
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-drupal
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-joomla
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-magento
https://hostgator.com.br/blog/como-alterar-a-senha-do-administrador-wordpress
https://hostgator.com.br/blog/como-alterar-a-senha-do-cpanel
https://hostgator.com.br/blog/como-alterar-idioma-do-wordpress
https://hostgator.com.br/blog/como-armazenar-backups-de-um-servidor-dedicado-ou-vps-no-google-drive
https://hostgator.com.br/blog/como-ativar-o-modo-manutencao-no-wordpress
https://hostgator.com.br/blog/como-colocar-botao-do-whatsapp-no-wordpress

Si queremos filtrar solo la parte del slug de estas URLs, podemos usar el carácter / como separador de columnas. Quedaría así:

Codigo awk - paso 6

En el caso anterior, indicamos después de la opción -F que el carácter que define las columnas es / y, a continuación, imprimimos la quinta columna.

Consideraciones finales

En este artículo, aprendiste lo básico sobre el comando awk en Linux y algunas de sus opciones de filtrado.

Si tuviste alguna dificultad o tienes alguna sugerencia sobre algo que no se mencionó, solo déjala en los comentarios y, en el futuro, podremos actualizar este artículo.

Cotenidos relacionados:

Navega por asuntos

    Tags:

      Crea tu presencia en línea

      Encuentra el nombre perfecto para tu web:

      www.