Para classificar, você pode usar um pipe também dentro de um comando awk
, como em:
awk '{ print ... | "sort ..." }'
A sintaxe significa que todas as respectivas linhas do arquivo de dados serão passadas para a mesma instância de classificação.
É claro que você também pode fazer isso de maneira equivalente no nível do shell:
awk '{ print ... }' | sort ...
Ou você pode usar o GNU awk
, que tem algumas funções de classificação definidas nativamente.
O uniq
é em awk
normalmente obtido salvando o "elemento ou chave de dados exclusivos" em uma matriz associativa e verificando se novos dados precisam ser memorizados. Um exemplo para ilustrar:
awk '!a[$0]++'
Isso significa: Se a linha atual não estiver na matriz, a condição é verdadeira e a ação padrão para imprimir a linha é acionada. Linhas subseqüentes com os mesmos dados resultarão em uma condição falsa e os dados não serão impressos.