$ ln -s nonexistant link
$ diff link link && echo identiques
diff: link: No such file or directory
diff: link: No such file or directory
Je cherche donc un moyen de comparer deux répertoires contenant potentiellement des liens invalides
$ ln -s nonexistant link
$ diff link link && echo identiques
diff: link: No such file or directory
diff: link: No such file or directory
# en gardant diff
Posté par Octabrain . Évalué à 3.
Ensuite, si tu veux comparer les fichiers existants, et ignorer quand un lien n'existe pas, tu ne dois pas utiliser le code de retour de diff, mais regarder sa sortie, et vérifier qu'elle ne contient aucune ligne, en dehors des messages d'erreurs pour les liens symboliques :
diff -qr dossier1 dossier2 2>/dev/null | grep -qm1 ""
$? vaut 1 s'il n'y a pas de différences, et 0 s'il y en a.
(grep -m1 "" va retourner si au moins une ligne rentre, ou si à l'inverse aucune n'est entrée)
[^] # Re: en gardant diff
Posté par Vincent Meurisse (site web personnel) . Évalué à 2.
Dommage qu'il n'existe pas de moyen plus direct…
[^] # Re: en gardant diff
Posté par NeoX . Évalué à 4.
diff est prevu pour comparer le contenu de fichier
il peut faire du recurise avec l'option -r et donc te lister les fichiers manquants ou changés dans deux dossiers
mais il y a des outils pour comparer des repertoires en tenant compte des liens existants ou absents
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.