|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
je cherche à faire la différence entre deux fichiers qui n'écrirait QUE la différence entre les fichiers. Exemple : la comparaison entre T1.log : "Voici un ancien fichier texte" et T2.log : "Voici un ancien fichier texte et voici une nouvelle ligne" ne devrait sortir que "et voici une nouvelle ligne" Le problème : Si je fais diff T1.log T2.log > diff.log j'ai de nouveaux caractères '>' et '<' qui sont rajoutés en début de ligne : "> et voici une nouvelle ligne" Comment faire pour n'avoir que le texte brut ? Merci d'avance Pierre |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
bonjour,
À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), donutman@yopmail.com nous disait (told us): > Le problème : > > Si je fais diff T1.log T2.log > diff.log > j'ai de nouveaux caractères '>' et '<' qui sont rajoutés en début de > ligne : "> et voici une nouvelle ligne" > Comment faire pour n'avoir que le texte brut ? peut-être avec un : diff T1.log T2.log | sed "s/^[<>] //" > diff.log -- Thomas vO - <http://perso.enstimac.fr/~vanouden/> |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On 3 juil, 10:47, Thomas vO <vanouden+n...@rf.camitsne.invalid> wrote:
> bonjour, > > À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), > donut...@yopmail.com nous disait (told us): > > > Le problème : > > > Si je fais diff T1.log T2.log > diff.log > > j'ai de nouveaux caractères '>' et '<' qui sont rajoutés en débutde > > ligne : "> et voici une nouvelle ligne" > > Comment faire pour n'avoir que le texte brut ? > > peut-être avec un : > diff T1.log T2.log | sed "s/^[<>] //" > diff.log > > -- > Thomas vO - <http://perso.enstimac.fr/~vanouden/> Bonjour, oui c'est exactement ce que je cherchais à faire ! Merci beaucoup et bonne journée. Pierre |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Thomas vO a écrit :
> bonjour, > > À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), > donutman@yopmail.com nous disait (told us): >> Le problème : >> >> Si je fais diff T1.log T2.log > diff.log >> j'ai de nouveaux caractères '>' et '<' qui sont rajoutés en début de >> ligne : "> et voici une nouvelle ligne" >> Comment faire pour n'avoir que le texte brut ? > > peut-être avec un : > diff T1.log T2.log | sed "s/^[<>] //" > diff.log Bonjour, dans le cas présent, comm -13 T1.log T2.log est plus approprié. -1 supprime les lignes uniquement dans T1.log -2 supprime les lignes uniquement dans T2.log -3 ... les lignes communes Cordialement, Cyrille Lefevre. -- mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid supprimer "%nospam% et ".invalid" pour me repondre. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Le 03/07/2008 22:56, Cyrille Lefevre a écrit :
>> >> peut-être avec un : >> diff T1.log T2.log | sed "s/^[<>] //" > diff.log > > dans le cas présent, comm -13 T1.log T2.log est plus approprié. > > -1 supprime les lignes uniquement dans T1.log > -2 supprime les lignes uniquement dans T2.log > -3 ... les lignes communes En effet. Et cela permet de vérifier par un « comm -23 T1.log T2.log » qu'il n'y a pas eu de lignes supprimées. |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Cyrille Lefevre <cyrille.lefevre-news%nospam@laposte.net.invalid>
writes: > Thomas vO a écrit : >> bonjour, >> >> À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), >> donutman@yopmail.com nous disait (told us): >>> Le problème : >>> >>> Si je fais diff T1.log T2.log > diff.log >>> j'ai de nouveaux caractères '>' et '<' qui sont rajoutés en début de >>> ligne : "> et voici une nouvelle ligne" >>> Comment faire pour n'avoir que le texte brut ? >> >> peut-être avec un : >> diff T1.log T2.log | sed "s/^[<>] //" > diff.log > > Bonjour, > > dans le cas présent, comm -13 T1.log T2.log est plus approprié. Attention : comm - compare two sorted files line by line Et l'algo pour «reprendre» les parties identiques après une différence n'est pas du tout le même selon si les fichiers sont triés ou pas. Sur des fichiers non-triés, on peut s'attendre à ce que comm fasse un peu n'importe quoi. Si l'ordre n'importe pas, comm <(sort T1.log) <(sort T2.log) devrait faire l'affaire. -- Matthieu |
|
![]() |
| Outils de la discussion | |
|
|