awk
Procesado de texto
Uso
awk '{print $1}' [file]Divide cada línea en campos y ejecuta un pequeño programa; $0 es la línea entera y $1 el primer campo, y el separador por defecto es cualquier serie de espacios, no uno solo.
Opciones habituales
| Opción | Significado |
|---|---|
| -F | Set the field separator, as in -F, |
| -v | Pass a shell value in as an awk variable |
| -f | Read the program from a file |
| $0 | The whole line; $1 is the first field, NF the field count |
Ejemplos
awk -F, '{print $2}' data.csvSecond column of a comma-separated file.
awk '$3 > 100' access.logOnly the rows whose third field exceeds 100.
awk '{s+=$1} END {print s}' nums.txtAdds up the first column.
Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace awk?
Divide cada línea en campos y ejecuta un pequeño programa; $0 es la línea entera y $1 el primer campo, y el separador por defecto es cualquier serie de espacios, no uno solo.
Q. ¿Cómo se escribe?
awk '{print $1}' [file] — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 4; la lista completa está en man awk. Este comando está en Procesado de texto.
Comandos relacionados
página man: man awk