Como encontrar arquivos duplicados de arquivos em uma determinada pasta?

0

Eu preciso remover as duplicatas no meu computador, pois tenho cerca de 5 cópias de cada foto, em pastas diferentes. Eu quero excluir as fotos que também aparecem em uma determinada pasta, em que eu organizei um monte deles. Eu quero manter os arquivos na pasta e também manter duplicatas que também não aparecem nessa pasta Ex: Eu quero manter os arquivos na área de trabalho.

  • C:/Desktop/file1,file3
  • C:/Desktop/2016/file2
  • C:/Backup/file1(2),file4
  • C:/Backup2/file1(3),file2(2),file4(2)

O resultado deve ser

  • C:/Desktop/file1,file3
  • C:/Desktop/2016/file2
  • C:/Backup/file4
  • C:/Backup2/file4(2)
    
por cezieu 08.08.2017 / 09:44

1 resposta

0

Assumindo que dir1 seja o caminho que você deseja pesquisar e dir2 seja a determinada pasta :

find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | parallel rm

ou, se você tiver apenas xargs e não parallel :

find dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | xargs rm

Exemplo:

Digamos que você queira procurar na unidade C: e a determinada pasta é C:\Desktop , depois em cygwin :

find /cygdrive/c -not -path "/cygdrive/c/Desktop/*" | grep -F -f <(ls -1 /cygdrive/c/Desktop) | parallel rm

em Git-for-Windows :

find /c -not -path "/c/Desktop/*" | grep -F -f <(ls -1 /c/Desktop) | parallel rm

em WSL :

find /mnt/c -not -path "/mnt/c/Desktop/*" | grep -F -f <(ls -1 /mnt/c/Desktop) | parallel rm
    
por 08.08.2017 / 10:19