je cherche =E0 faire la diff=E9rence entre deux fichiers qui n'=E9crirait
QUE la diff=E9rence 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=E8me :
Si je fais diff T1.log T2.log > diff.log
j'ai de nouveaux caract=E8res '>' et '<' qui sont rajout=E9s en d=E9but 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/>
donutman
On 3 juil, 10:47, Thomas vO <vanouden+ wrote:
bonjour,
À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), 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/>
Bonjour,
oui c'est exactement ce que je cherchais à faire ! Merci beaucoup et bonne journée.
Pierre
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é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/>
Bonjour,
oui c'est exactement ce que je cherchais à faire !
Merci beaucoup et bonne journée.
À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), 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/>
Bonjour,
oui c'est exactement ce que je cherchais à faire ! Merci beaucoup et bonne journée.
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.
Matthieu Moy
Cyrille Lefevre <cyrille.lefevre-news% writes:
Thomas vO a écrit :
bonjour,
À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), 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,
À (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,
À (at) Thu, 3 Jul 2008 01:40:18 -0700 (PDT), 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,