A entrada para uniq
precisa ser classificada. Então, para o caso de exemplo,
find . -type f -exec md5sum '{}' ';' | sort | uniq -w 33
funcionaria. O -w
( --check-chars=N
) torna as linhas únicas somente em relação à primeira coluna; Esta opção funciona para este caso. mas as possibilidades de especificar as partes relevantes da linha para uniq
são limitadas. Por exemplo, não há opções para especificar o trabalho em algumas colunas 3 e 5, ignorando a coluna 4.
O comando sort
tem uma opção para linhas de saída exclusivas, e as linhas são exclusivas em relação às chaves usadas para classificação. Isso significa que podemos usar a poderosa sintaxe de chave de sort
para definir em que parte as linhas devem ser uniq.
Para o exemplo,
find . -type f -exec md5sum '{}' ';' | sort -k 1,1 -u
fornece o mesmo resultado, mas a parte sort
é mais flexível para outros usos.