Re: [CBLX] Petite interrogation Awk

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


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-request@xxxxxxxxxxxxxxxxxxx
   Archives: 
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
   ou 
   http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/