awk
Processamento de texto
Uso
awk '{print $1}' [file]Divide cada linha em campos e roda um pequeno programa; $0 é a linha inteira e $1 o primeiro campo, e o separador padrão é qualquer sequência de espaços, não um só.
Opções comuns
| Opção | 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 |
Exemplos
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.
Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que awk faz?
Divide cada linha em campos e roda um pequeno programa; $0 é a linha inteira e $1 o primeiro campo, e o separador padrão é qualquer sequência de espaços, não um só.
Q. Como se digita?
awk '{print $1}' [file] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 4; a lista completa está em man awk. Este comando fica em Processamento de texto.
Comandos relacionados
página man: man awk