Este comando irá imprimir os nomes dos diretórios que aparecem várias vezes:
find path/to/dir -type d -printf "%f\n" | sort | uniq -d
Se a saída estiver vazia, não haverá nomes duplicados. Se a saída não estiver vazia, você poderá encontrar o caminho completo das duplicatas com:
find path/to/dir -type d -name the-name
Aviso: devido ao uso de \n
como o delimitador de nomes de arquivos na opção -printf
, isso não funcionará se você tiver alguns diretórios com \n
incorporados neles. Espero que seja uma limitação aceitável.
A opção -printf
de find
está disponível em implementações GNU, comuns em sistemas Linux, e pode não estar disponível em implementações BSD, comuns em sistemas BSD.
Se o seu find
não tiver essa opção, você poderá usá-lo:
find path/to/dir -type d | awk -F/ '{ print $NF }' | sort | uniq -d