$ rmlint --types duplicatedirs <path>
Isso listará diretórios duplicados e criará um script de shell (rmlint.sh) que você pode executar opcionalmente para excluí-los.
Consulte o guia do usuário para obter instruções de instalação, etc.
Eu tenho vários diretórios que contêm arquivos de texto. Alguns desses diretórios são nomeados de maneira diferente, mas contêm os mesmos arquivos de texto. Como faço para remover todos os diretórios duplicados?
$ rmlint --types duplicatedirs <path>
Isso listará diretórios duplicados e criará um script de shell (rmlint.sh) que você pode executar opcionalmente para excluí-los.
Consulte o guia do usuário para obter instruções de instalação, etc.
Tente primeiro comparar os arquivos byte by byte e se encontrar o mesmo arquivo, mova os arquivos duplicados para um caminho de backup.
find /path/to/src -type f -exec cmp -s '{}' "/path/to/destA/{}" \; -exec echo mv -v "/path/to/destA/{}" "/path/to/backup/" \;
/path/to/destS
. Por favor, note que, se no caso você tivesse o mesmo nome de arquivos em vários destS com o comando Mover para /path/to/backup/
, esses serão substituídos pelo mesmo nome de arquivo. echo
do comando para executar o movimento real. Em seguida, execute para executar outra pesquisa para excluir diretórios vazios.
find -type d -empty #-delete
#
do comando para executar a exclusão real quando você garantir a exibição dos diretórios vazios e o esperado. Mais tarde, você pode verificar novamente se os arquivos foram movidos para o backup /path/to/backup/
path e, depois de confirmar com você mesmo, você poderá excluí-los também com o seu desejo.