Lorsque j'exécute fdupes
, il trouve plus de 30 000 fichiers en double. Je dois conserver un fichier et supprimer tous les autres doublons (car certains d'entre eux sont des fichiers système). Donnez-moi s'il vous plaît une commande ou un script pour le faire sans appuyer sur "1 ou 2 ou tous" pour chaque groupe de fichiers en double.
Vous pouvez le faire si vous souhaitez exécuter cette opération en mode silencieux (je viens de l'utiliser pour supprimer 150 Go de dupes s'exécutant sur le stockage de bloc rackspace .. £ kerching !!)
fdupes -rdN dir/
r - recursive
d - preserver first file, delete other dupes
N - run silently (no Prompt)
fdupes
a une CLI riche:
fdupes -r ./stuff > dupes.txt
Ensuite, supprimer les doublons était aussi simple que de vérifier dupes.txt
et de supprimer les répertoires incriminés. fdupes
peut également vous inviter à supprimer les doublons au fur et à mesure.
fdupes -r /home/user > /home/user/duplicate.txt
La sortie de la commande va dans duplicate.txt
.
fdupes
comparera la taille et le hachage MD5 des fichiers pour trouver les doublons.
Consultez la page de manuel fdupes
NAME_ pour obtenir des informations détaillées sur l’utilisation.
Je voudrais utiliser cette manière plus sûre:
Créez un script et déplacez les fichiers dupliqués dans un nouveau dossier. Si vous passez dans un dossier situé en dehors du dossier d'origine, fdupes ne signalera pas les fichiers dupliqués lors d'une seconde analyse et il sera plus sûr de les supprimer.
#!/bin/bash
# Save default separator definitions
oIFS=$IFS
# define new line as a separator, filenames can have spaces
IFS=$'\n';
# For each file (f) listed as duplicated by fdupes, recursively
for f in `fdupes -r -f .`
do
# Log the files I'm moving
echo "Moving $f to folder Duplicates" >> ~/log.txt
# Move the duplicated file, keeping the original in the original folder
mv $f Duplicates/
done
# restore default separator definitions
IFS=$oIFS