Lenguaje de Programación AWK

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Lenguaje de programación AWK

Link a la presentación Prof. Ramiro Estigarribia Canese


¿Qué es AWK?
Es un lenguaje de programación diseñado para procesar
datos basados en texto, ya sean ficheros o flujos de datos.

El nombre AWK deriva de las iniciales de los apellidos de sus


autores: Alfred Aho, Peter Weinberger, y Brian Kernighan.
¿Qué nos permite realizar awk?
1. Buscar palabras y patrones de palabras y reemplazarlos
por otras palabras y/o patrones.
2. Hacer operaciones matemáticas.
3. Procesar texto y mostrar las líneas y columnas que
cumplen con determinadas condiciones.

Nota: En términos generales el comando awk permite


procesar y modificar el texto según nuestras necesidades.
¿Qué es el comando ps?
Es un comando permite listar los procesos del sistema.
ramiroec@ramiroec:~$ ps
PID TTY TIME CMD
636856 pts/1 00:00:00 bash
636889 pts/1 00:00:00 ps

https://www.mycompiler.io
Extraer columnas de un texto
Si únicamente queremos mostrar la columna 1:
ps | awk '{print $1}'
* Colocamos '{}' y dentro de las llaves la acción que queremos
realizar que en este caso es imprimir la columna 1.
Si además queremos mostrar la columna 2:
ps | awk '{print $2}'

https://www.mycompiler.io
Delimitador entre columnas
El delimitador por defecto es el espacio, pero podemos definir el
que más nos convenga.

cat /etc/passwd | awk -F "delimitador" '{print $num_columna}'

Imaginemos el comando cat /etc/passwd:


root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
Mostrar solamente los usuarios
cat /etc/passwd | awk -F ":" '{print $1}'

root
daemon
bin
sys
Procesos con la palabra firefox
ps -ef | awk '{ if($NF == "firefox") print $0}'

joan 12642 1 0 09:42 ? 00:00:00 /bin/sh -c firefox

joan 12643 12642 14 09:42 ? 00:59:13 firefox

También podría gustarte