Início·Comandos de terminal

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çãoSignificado
-FSet the field separator, as in -F,
-vPass a shell value in as an awk variable
-fRead the program from a file
$0The whole line; $1 is the first field, NF the field count

Exemplos

awk -F, '{print $2}' data.csv

Second column of a comma-separated file.

awk '$3 > 100' access.log

Only the rows whose third field exceeds 100.

awk '{s+=$1} END {print s}' nums.txt

Adds 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