J'ai une vieille copie de sauvegarde de documents. Dans mon répertoire actuel Documents
, beaucoup de ces fichiers existent à des emplacements différents, avec des noms différents . J'essaie de trouver un moyen d'indiquer dans la sauvegarde quels fichiers existent et non dans le répertoire Documents
, de préférence Nice et GUI-y pour que je peut facilement visualiser un lot de documents.
Lorsque je cherche cette question, beaucoup de gens cherchent des moyens de faire le contraire. Il existe des outils tels que FSlint et DupeGur , mais ils présentent des doublons. Il n'y a pas de mode inversé.
Si vous êtes prêt à utiliser la CLI, la commande suivante devrait fonctionner pour vous:
diff --brief -r backup/ documents/
Cela vous montrera les fichiers qui sont uniques à chaque dossier. Si vous le souhaitez, vous pouvez également ignorer les cas de nom de fichier avec le --ignore-file-name-case
Par exemple:
ron@ron:~/test$ ls backup/
file1 file2 file3 file4 file5
ron@ron:~/test$ ls documents/
file4 file5 file6 file7 file8
ron@ron:~/test$ diff backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
ron@ron:~/test$ diff backup/ documents/ | grep "Only in backup"
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
De plus, si vous souhaitez signaler uniquement lorsque les fichiers diffèrent (et ne pas signaler la "différence" réelle), vous pouvez utiliser l'option --brief
comme suit:
ron@ron:~/test$ cat backup/file5
one
ron@ron:~/test$ cat documents/file5
ron@ron:~/test$ diff --brief backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Files backup/file5 and documents/file5 differ
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
Il existe plusieurs outils de comparaison visuelle tels que meld
pouvant faire la même chose. Vous pouvez installer meld
à partir du référentiel d'univers en:
Sudo apt-get install meld
et utilisez son option "Comparaison de répertoires". Sélectionnez le dossier que vous souhaitez comparer. Après la sélection, vous pouvez les comparer côte à côte:
fdupes
est un excellent programme pour rechercher les fichiers en double, mais il ne répertorie pas les fichiers non en double, ce que vous recherchez. Cependant, nous pouvons lister les fichiers qui ne sont pas dans la sortie fdupes
en utilisant une combinaison de find
et grep
.
L'exemple suivant répertorie les fichiers uniques à backup
.
ron@ron:~$ tree backup/ documents/
backup/
├── crontab
├── dir1
│ └── du.txt
├── lo.txt
├── ls.txt
├── lu.txt
└── notes.txt
documents/
├── du.txt
├── lo-renamed.txt
├── ls.txt
└── lu.txt
1 directory, 10 files
ron@ron:~$ fdupes -r backup/ documents/ > dup.txt
ron@ron:~$ find backup/ -type f | grep -Fxvf dup.txt
backup/crontab
backup/notes.txt
J'ai pensé que le meilleur flux de travail pour fusionner d'anciennes sauvegardes avec des milliers de fichiers, archivés sous différents répertoires avec des noms différents, est d'utiliser DupeGur après tout. Cela ressemble beaucoup à l’onglet en double de FSlint , mais il a la particularité supplémentaire d’ajouter des sources en tant que 'référence' .
~/Documents
) en tant que référence . Si vous avez plusieurs anciens répertoires de sauvegarde, il est logique de commencer par fusionner le répertoire de sauvegarde le plus récent, puis d'utiliser ce répertoire de sauvegarde comme référence pour le nettoyage. il est dupliqué des anciennes sauvegardes avant de les fusionner dans le répertoire de documents principal. Cela sécurise un travail pour lequel vous n'avez pas à supprimer les fichiers uniques que vous souhaitez supprimer au lieu de les fusionner à partir des sauvegardes.
N'oubliez pas de faire une nouvelle sauvegarde après avoir détruit toutes les anciennes sauvegardes du processus. :)