PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.unix > Commande diff
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.unix Système UNIX.

Commande diff

Réponse
 
LinkBack Outils de la discussion
Vieux 03/07/2008, 09h40   #1
donutman@yopmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Commande diff

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

  Réponse avec citation
Vieux 03/07/2008, 09h47   #2
Thomas vO
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Commande diff

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/>
  Réponse avec citation
Vieux 03/07/2008, 10h18   #3
donutman@yopmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Commande diff

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
  Réponse avec citation
Vieux 03/07/2008, 21h56   #4
Cyrille Lefevre
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Commande diff

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.

  Réponse avec citation
Vieux 04/07/2008, 08h31   #5
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Commande diff

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.
  Réponse avec citation
Vieux 04/07/2008, 12h56   #6
Matthieu Moy
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Commande diff

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
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 07h28.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,11231 seconds with 14 queries