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 .