Classifique as chaves de 1 a 32 (-k1, 32), com barra vertical como delimitador -t'|'
.
-u
significa: produza somente a primeira linha de uma execução igual ( de teclas combinadas).
Veja man sort
para detalhes das opções de sort
.
sort -t'|' -k1,32 -u infile
O código acima, claro, resulta em uma saída ordenada.
No entanto, se você quiser manter a mesma sequência de linhas encontradas pela primeira vez, use o arquivo de entrada:
nl -s'|' -ba infile | sort -t'|' -k2,5 -u | sort -t'|' -k1 -n | cut -d'|' -f2-
nl
prefixos números de linha sequenciais. Esses números de linha são cut
após as etapas sort
.
Observe que a saída desse segundo método é a mesma que a solução Perl do terdon .