Videos selecionados

Loading...

30 de junho de 2009

Alguns usos para o awk

Quando for necessário coletar informações em uma lista tabular, podemos utilizar o comando $awk. Por lista tabular entendemos qualquer entrada de dados que tenha um delimitador conhecido, seja ele espaço, vírgula, ponto-e-vírgula, ponto, dois-pontos, etc, como por exemplo:

joão maria pedro teresa
joão,maria,pedro,teresa
joão:maria:pedro:teresa

Como entrada do $awk, cada item é uma variável especial, começando em $1 e seguindo $n, onde n pode ser qualquer outro número. Se quisermos os nomes maria e teresa, seria o seguinte comando:

$awk '{print $2,$4}'


Por padrão, o separador usado é o espaço. Se necessário, podemos definir outro separador, com o parâmetro -F.

$awk -F "," '{print $2,$4}'

Vamos agora acrescentar à saída dois pontos entre os nomes (o resultado exibido seria maria:teresa):

$awk '{print $2":"$4}'

Podemos também usar mecanismos de decisão (se a segunda entrada igual a maria, imprima):

$awk '($2=="maria") {print $2,$4}'

Claro que não estou abrangendo toda a gama de opções que o comando permite realiza, existem muitos outros, basta consultar o $man awk. Além disso, todos esses comandos são aplicáveis a diversas entradas de dados, seja um $ls, um $cat, ou mesmo um arquivo de texto.

0 comentários: