Je dois supprimer les doublons de mon ordinateur, car j'ai environ 5 copies de chaque photo, dans des dossiers différents. Je veux supprimer les photos qui apparaissent également dans un certain dossier, après quoi j'en ai trié plusieurs. Je veux qu'il garde les fichiers dans le dossier, ainsi que les doublons qui n'apparaissent pas également dans ce dossier. Ex: je veux conserver les fichiers sur le bureau.
- C: / Bureau / fichier1, fichier3
- C: / Desktop / 2016 / file2
- C: / Sauvegarde / fichier1 (2), fichier4
- C: / Backup2 / file1 (3), fichier2 (2), fichier4 (2)
Le résultat devrait être
- C: / Bureau / fichier1, fichier3
- C: / Desktop / 2016 / file2
- C: / Sauvegarde / fichier4
- C: / Backup2 / file4 (2)
windows-7
windows
deduplication
Cézieu
la source
la source
Réponses:
En supposant que
dir1
vous soyez le chemin que vous voulez rechercher etdir2
le dossier en question :ou, si vous avez seulement
xargs
et nonparallel
:Exemple:
Supposons que vous vouliez regarder dans le
C:
lecteur et que le dossier en question se trouveC:\Desktop
sur cygwin :sur Git pour Windows :
sur WSL :
la source
-delete
option avantgrep
: de cette façon, tous les fichiers trouvés sont supprimés avant que le filtre ne soit appliqué! Cela aurait dû êtrefind dir1 -not -path "dir2/*" | grep -F -f <(ls -1 dir2) | parallel rm {}
.parallel
fait la même chose quexargs
, qui est généralement disponible par défaut, vous ne devriez donc pas vous en préoccuper.