AWK: Ejemplos Básicos para Manipular Archivos de Texto

AWK: Ejemplos Básicos para Manipular Archivos de Texto

AWK es una herramienta de línea de comandos poderosa y versátil que se utiliza ampliamente para procesar y analizar archivos de texto. Su nombre proviene de los desarrolladores Alfred Aho, Peter Weinberger y Brian Kernighan. AWK es conocido por su capacidad para manipular datos, extraer información y realizar operaciones complejas en archivos de texto. En este artículo, exploraremos ejemplos básicos de AWK que te ayudarán a comprender sus capacidades y a empezar a usarlo en tus tareas diarias.

Para comenzar, vamos a utilizar un archivo de texto simple llamado «datos.txt» como base para nuestros ejemplos:


Nombre,Apellido,Edad,Ciudad
Juan,Pérez,25,Madrid
Ana,García,30,Barcelona
Pedro,Martínez,28,Valencia
María,López,22,Sevilla

Imprimir Columnas Específicas con AWK

Para imprimir columnas específicas de un archivo de texto, podemos utilizar AWK y especificar los números de las columnas que nos interesan. Por ejemplo, para imprimir la columna 1 (nombre) y la columna 3 (edad) del archivo «datos.txt», podemos usar el siguiente comando:

bash
awk '{print $1, $2}' datos.txt

Este comando imprimirá las siguientes líneas:


Juan Pérez
Ana García
Pedro Martínez
María López

Imprimir Todas las Líneas de un Archivo con AWK

Si deseas imprimir todas las líneas de un archivo de texto, puedes usar el siguiente comando:

bash
awk '{print $0}' datos.txt

En este caso, la variable $0 representa la línea completa del archivo, por lo que se imprime cada línea de «datos.txt» en su totalidad.

Imprimir Columnas Basadas en una Coincidencia de Patrón con AWK

Podemos usar AWK para imprimir columnas específicas solo cuando se cumple una condición o patrón específico. Por ejemplo, para imprimir la columna 1 (nombre) y la columna 3 (edad) solo para las personas que viven en Madrid, podemos utilizar el siguiente comando:

LEER:  Instalar archivos .deb en Ubuntu: guía completa

bash
awk '$4 == "Madrid" {print $1, $3}' datos.txt

Este comando imprimirá:


Juan 25

Imprimir Columnas en Cualquier Orden con AWK

AWK nos permite imprimir las columnas en cualquier orden que deseemos. Por ejemplo, para imprimir la columna 3 (edad), la columna 1 (nombre) y la columna 2 (apellido), podemos usar el siguiente comando:

bash
awk '{print $3, $1, $2}' datos.txt

Este comando imprimirá:


25 Juan Pérez
30 Ana García
28 Pedro Martínez
22 María López

Contar las Líneas que Coinciden con un Patrón con AWK

Podemos utilizar AWK para contar las líneas que coinciden con un patrón específico. Por ejemplo, para contar cuántas personas tienen una edad mayor a 25 años, podemos utilizar el siguiente comando:

bash
awk '$3 > 25 {contador++} END {print contador}' datos.txt

Este comando imprimirá:


2

Imprimir Líneas con Más de 18 Caracteres con AWK

Podemos utilizar AWK para imprimir solo las líneas que tienen más de un número específico de caracteres. Por ejemplo, para imprimir las líneas que tienen más de 18 caracteres, podemos utilizar el siguiente comando:

bash
awk 'length($0) > 18 {print $0}' datos.txt

Este comando imprimirá las siguientes líneas:


Juan,Pérez,25,Madrid
Ana,García,30,Barcelona
Pedro,Martínez,28,Valencia

Conclusión

Estos ejemplos básicos de AWK te dan una introducción a las capacidades de esta herramienta para manipular archivos de texto. Puedes usar AWK para realizar tareas como la extracción de información específica, el análisis de datos, el formateo de archivos y la creación de informes personalizados. Al combinar estos ejemplos con los awk examples, awk for example y awk examples, puedes empezar a explorar el potencial de AWK para automatizar tus tareas de procesamiento de texto.

LEER:  Instalar Linux en Chromebooks: Guía Completa y Consejos para la Ayuda

Recuerda que AWK es una herramienta poderosa con una sintaxis flexible. Investiga más ejemplos y documentación para aprender a utilizar sus funciones avanzadas y a resolver problemas más complejos.