Em um ambiente Linux, pode-se instalar fdupes
Passo 1, obtenha uma lista de arquivos duplicados
fdupes -f basedirectory/ > list.txt
Etapa 2, filtre as duplicatas nos diretórios /selection/
grep -v "/selection/" list.txt > script.sh
Etapa 3: faça script.sh
em um script para excluir os arquivos usando a pesquisa global e substitua para colocar um comando de exclusão, rm
no início de cada linha. Use o seu editor de texto favorito, ou sed
se você se sentir bem. Verifique seu trabalho aqui, estes são os arquivos que desaparecem. Tome cuidado se você tiver nomes de arquivo com espaços ou outros caracteres especiais neles. Você pode ter que colocar um rm "
no início da linha e um "
no final para contornar isso.
perl -p -i -e 's/^(.*)$/rm ""/' script.sh
deve funcionar, mas confira o arquivo depois antes de executar para ter certeza de que é o que você quer.
O passo 4 executa seu novo script. Isso está puxando o gatilho.
sh -x script.sh
Etapa 5: limpe-se eliminando os arquivos temporários list.txt
e script.sh
Sem dúvida, poder-se-ia modificar o fluxo de trabalho para a linha de comando do Windows com subsituições adequadas.