Professional Documents
Culture Documents
Sintaxe do awk:
awk -F valor -v var=valor -f arquivo
Significado
Ignora caracteres
[]
Listagem
{}
Procura um intervalo
1.Limo 1.99
2.Morango 2.00
3.Banana 1.50
4.Pra 4.00
Exemplo 2:
O exemplo abaixo o comando awk usado para imprimir os valores das colunas 1, 2 e 3 onde
so armazenadas nas variveis especiais $1, $2 e $3, sendo que feito um clculo
multiplicando ($2 * $3) as colunas $2 e $3, precedido de " => R$ ".
2.Morango => R$ 10
3.Banana => R$ 3
4.Pra => R$ 12
Exemplo 3:
O exemplo abaixo criado um arquivo onde filtra apenas uma linha do arquivo especificando
a fruta na coluna 1 ($1), a quantidade na coluna 2 ($2) e o preo na coluna 3 ($3).
{
total = $2 * $3
fruta = $1
preco = $3
print fruta " Total Item: R$ " total
total_geral = total_geral + total
}
END {
print "----------------------------"
print "Fim do programa"
print "======= TOTAL GERAL ========="
print "Total Geral: R$ " total_geral
}
Executando o comando
Para imprimir um ttulo no incio do programa e exibir o total geral no final necessrio
especificar os comandos BEGIN que especifica aes antes da primeira linha de registros e
END que especifica aes depois de todas as linhas de registros como mostra a sintaxe
abaixo:
Sintaxe:
BEGIN {
ao 1
ao 2
}
END {
ao 1
ao 2
}
Outros Exemplos:
Exemplo 1:
O exemplo abaixo exibe a primeira ($1) e a terceira ($3) coluna do arquivo /etc/passwd que
corresponde ao nome e ID do usurio.
$ less /etc/passwd | awk -F : '{print $1,$3}'
Sada do comando
root 0
daemon 1
bin 2
aluno1 1000
sshd 114
...
Exemplo 2:
O exemplo abaixo exibe todas as interfaces de rede disponveis (lo, eth0, eth1, etc).
192.168.1.10
127.0.0.1
Exemplo 3:
No exemplo abaixo feito as operaes de adio, subtrao, multiplicao, diviso e resto
da diviso nas colunas 1($1) e 2 ($2), onde solicitado dois valores para p usurio.
$ awk -f calculos
20 3
20 + 3 = 23
20 - 3 = 17
20 * 3 = 60
20 / 3 = 6.66667
20 resto diviso 3 de (20/3) = 2