Page 1 sur 1

ligne de commande pour comparer deux dossiers si il ya une différence de fichier

Posté : jeu. 11 juil. 2024 00:14
par wilf39
Bonsoir à toutes et à tous

j'ai deux média ou l'un est l'originale et l'autre est une copie de celui-ci. je veus récupérer le média d'origine mais avant je veut être sûr qu'il n'ya pas eu d'autre fichier copier après la sauveguarde. et si c'est le cas les trouver puis les copier sur le le média de sauvegarde.



donc je me suis dis et pourquoi pas faire une recherche un ligne de commande.

1 donc je fais cette ligne de commande et cela permets de mettre
find /media/user/seagateB/doc_Gpc/ -type f -print0 | logsave -a ListeF2.txt xargs -0 diff -u /media/user/dossier/

et j'en trouvé une autre mais cela me trouve les fichiers identique

diff -a /media/user/dossier/ /media/user/seagateB/doc_Gpc/ | grep -v "^>" > listeF4.txt

mais je sèche un peu pour arriver à trouver exactement les fichiers en plus

est e quelq'un à déjà été rencontré à ce cas là

en vous remerciant par avance pour vos retour de réponse.

Cordialement Wilf

Re: ligne de commande pour comparer deux dossiers si il ya une différence de fichier

Posté : jeu. 11 juil. 2024 07:43
par serged
Perso j'utiliseMidnight Commander et je fais une comparaison "visuelle".

Re: ligne de commande pour comparer deux dossiers si il ya une différence de fichier

Posté : jeu. 11 juil. 2024 10:33
par wilf39
Bonjour Serged

Gratitude infinie pour information et sa marche plutôt bien j'ai même pu copier directement avec mc

Re: ligne de commande pour comparer deux dossiers si il ya une différence de fichier

Posté : jeu. 11 juil. 2024 22:34
par tioker
Bonsoir

J'ai peut-être une solution.
La commande rsync synchronise deux repertoires/espaces ...
On peut synchroniser en récursuf (option -r) et en verbose (-v).
Mais on peut aussi simuler une synchronisation avec l'option (--dry-run).
Ainsi je fais le test suivant.
Soit un répertoire DocOfficiels dans mon répertoire Documents.
Soit sa sauvegarde sur le répertoire Tempo. Commande (-rvaz pour récursuf verbose droits et compression)

Code : Tout sélectionner

rsync -rvaz /home/patrick/Documents/DocOfficiels/ /home/patrick/Documents/Tempo
Si je fais un

Code : Tout sélectionner

rsync --dry-run -rv /home/patrick/Documents/DocOfficiels/ /home/patrick/Documents/Tempo
Je ne trouve rien de différence
Mais si je crée un fichier

Code : Tout sélectionner

touch /home/patrick/Documents/DocOfficiels/toto.lis
la même commande me dira

Code : Tout sélectionner

rsync --dry-run -rv /home/patrick/Documents/DocOfficiels/ /home/patrick/Documents/Tempo
sending incremental file list
toto.lis

sent 2.911 bytes  received 30 bytes  5.882,00 bytes/sec
total size is 47.147.290  speedup is 16.031,04 (DRY RUN)
alors que sur Tempo le fichier toto n'existe toujours pas.

Attention: je crois que la commande vérifie les fichiers par leur nom et leur date de modification. Rsync est d'ailleurs le protocole qui est utilisé par Timeshift par exemple.

Voilà, si ça peut aider...

Re: ligne de commande pour comparer deux dossiers si il ya une différence de fichier

Posté : ven. 12 juil. 2024 12:15
par Mia88
Bonjour,
wilf39 a écrit : jeu. 11 juil. 2024 00:14 j'en trouvé une autre mais cela me trouve les fichiers identique

diff -a /media/user/dossier/ /media/user/seagateB/doc_Gpc/ | grep -v "^>" > listeF4.txt
J'utilise la commande diff avec l'option -q pour trouver les différences entre des dossiers.
diff -qr dossier_1/ dossier_2/

L'option -q permet de n'afficher que les différences (cela évite que tous les fichiers identiques soient listés).
L'option -r (recursive) permet de comparer les sous-dossiers.

Si les fichiers sont identiques mais n'ont pas exactement le même nom, il n'y a pas de comparaison, il est juste indiqué que ces dossiers existent dans un dossier et pas dans l'autre.

C'est juste pour info puisque la solution de Midnight Commander proposée par Serged convient ;)