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.
Assinar:
Postar comentários (Atom)


0 comentários:
Postar um comentário