Bonsoir à toutes et à tous, Jean-Francois, la commande à utiliser est diff y compris pour les répertoires
Pour comparer deux répertoires /a et /b de manière récursive sans comparer les fichiers entre eux: diff -qr /a /b Pour en savoir plus: man diff Didier Le 18/07/2020 à 21:15, Jean-François Colas a écrit : > Bonsoir Didier, Léa et tous. > > > OK. Il faut que je précise que suis plus utilisateur de Windows que de Linux, > mais je le dis surtout à cause de certains noms de logiciels que je vais > citer. > > > Je suis souvent amené à utiliser un soft appelé Winmerge qui me permet de > faire des comparaisons entre le contenu de deux répertoires. Pouvant me > lister, au choix, les fichiers identiques des deux côtés; ceux qui sont > différents; ceux qui ne sont présents que d'un côté, ou de l'autre. Ce > Winmerge est aussi capable de comparer des fichiers, mais pour le coup, étant > loin d'être à l'aise avec sa façon de faire, pour ça je me rabats sur un Gnu > Diff. > > Bon. Winmerge peut bien sûr me générer un rapport; en l'occurrence, ce qui > m'intéresse ici, ce n'est que l'aspect concernant les fichiers différents. > Et c'est ce rapport que je voulais travailler, pour construire un script > (batch) me lançant des diffs sur chaque paire de fichiers listée, et me > permettant de stocker les résultats de ces diffs, chacun dans un fichier à > part. > > Voici les premières lignes d'un rapport Winmerge. > > ---------- > > Comparer E:\dispatch\Dispatch boulot\Ascii\corortho avec E:\dispatch\corortho > 15/07/2020 21:12:40 > Nom du fichier Répertoire Résultat de la comparaison Date mod. > gauche Date mod. droite Extension > Shells Linux et Unix par la pratique.txt Shells Linux et Unix par la > pratique Les fichiers sont différents 10/01/2017 16:51:14 * > 09/01/2018 16:05:58 txt > biblio alex feuilleté.txt Les fichiers sont différents * 19/02/2020 > 16:40:00 19/09/2018 16:00:28 txt > blocdiff.bat Les fichiers sont différents 16/11/2017 09:45:16 * > 27/06/2019 13:48:22 bat > (etc.) > > -------- > > J'avais opté pour Awk, parce que pour tout ce qui constitue le tableau, et > pour ce que je veux faire, la découpe en champs est tout à fait appropriée. > En fait ce n'est que cette fichue première ligne, dont j'espérais que Awk me > donne des moyens qui m'auraient échappé pour la traiter plus "à la Awk"; > espérant pouvoir compter sur le mécanisme de découpe en champs quand même. > L'idée pour cette première ligne, n'étant que de pouvoir en extraire les deux > chemins. Tout le reste, ça va. J'approfondirai donc :la fonction gensub et ça > suffira peut-être bien, mais voilà: ça m'était juste sorti de la tête. > > Et aussi... l'avantage indéniable de CBLX étant de ne pas être trop trop > spécialisé au-delà de Linux, et d'être... en french. > > Merci de votre intérêt. > > J.-F. > > > Le 18/07/2020 à 20:37, Didier Spaier a écrit : >> Hello Jean-Francois, >> >> je n'ai rien compris (et awk n'est peut-être pas l'outil le plus approprié). >> >> Pourrais-tu donner un exemple plus concret et en dire plus sur le but et le >> contexte? >> >> Merci, >> >> Didier >> >> >> Le 18/07/2020 à 17:55, Jean-François Colas a écrit : >>> J'utilise parfois mais pas assez souvent Awk. Je sais qu'il a certains >>> automatismes, mais saurait-il en faire encore plus que ce dont je me >>> souviens à ce jour? >>> >>> Mon problème: j'ai une ligne dont le format est du genre: >>> >>> Comparer Chemin numéro 1 avec chemin2 >>> (ou l'inverse éventuellement) >>> Comparer chemin1 avec Chemin numéro 2 >>> (ou aussi pourquoi pas) >>> >>> Comparer ce premier chemin avec tout un tas d'éléments constituant le >>> chemin 2 >>> Et ce que je chercherais donc à faire, serait de pouvoir stocker dans deux >>> variables chemin1 et chemin2, ce qui se trouve après Comparer, et ce qui se >>> trouve après avec. >>> >>> Mon problème, c'est donc la variabilité de ce qui se trouve entre les mots >>> "Comparer" et "Avec, et ce qui se trouve après le mot "Avec". >>> >>> Cette ligne ne comporte aucun guillemet, aucun autre séparateur que des >>> espaces. >>> >>> Est-il par exemple possible d'indiquer qu'une chaîne devrait être constitué >>> d'un ensemble de champs allant du n-ième au n+2-ième? >>> Ou alors, pourrait-on faire une sorte de "masque" du genre: "comparer %s >>> avec %s" >>> qui pourrait coller après coup au contenu d'une variable préremplie? >>> ...Ou autre? >> > -- CBLX - CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le sujet help à: carrefourblinux-requ...@lists.tuxfamily.org Archives: http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux ou http://www.mail-archive.com/carrefourblinux@lists.tuxfamily.org/