[diff] probleme d'affichage

Bonjour,

j'ai un petit souciss et j'aurai besoin de vos lumieres.

j'ai codé la commande suivante dans un de mes script

diff $1 $2 | grep "^>" > f1diff
diff $1 $2 | grep "^<" >> f1diff

lors de l'exécution il me retourne la diff entre les deux parametre (fichier1 fichier2) qui contiennent :

fichier1 fichier 2

toto tuto
titi titi
tata teta
zizou zizou

il me retourne comme resultat

diff Fichier1 fichier2

toto
tata
tuto
teta

ceci n'est qu'un exemple je dois apliquer mon script sur des fichier contenant plus de 30 ligne
et avec un tel affichage j'ai du mal a savoir ou ce termine les ligne du premier fichier et ou commence celle du second

ma question est la suivante et t-il possible par une commande d'affiché paralellement les ligne en erreur des deux fichier genre:

diff fichier1 fichier2

toto tuto
tata teta

ou meme

diff fichier1 fichier2

toto
tata
-----
tuto
teta

j'espere que mon explication est clair cela fait 3 jours que je cherche je ne trouve pas
merci d'avance
Configuration: Windows 2000 Internet Explorer 6.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    man diff
     diff  -y  --suppress-common-lines  fich1 fich2
    toto                                                          | tuto
    tata                                                          | teta
    ;-))
    1. merci pour la commande
      mais elle ne fonctionne pas

      il me marque diff -y not found
      1. Modérateur
        man diff

        Et comme ça :
        diff  --side-by-side  --suppress-common-lines
        ?
        1. j'ai rentré

          diff --side-by-side $1 $2 | grep "^>" > f1diff
          diff --side-by-side $1 $2 | grep "^<" > f2diff

          cela ne fonctonne pas il me retourne
          diff illegal option
          1. Modérateur
            diff --side-by-side $1 $2  > f1diff 
        2. voici mon script peut etre est-il faux

          diff $1 $2 | grep"^>" > f1diff
          diff $1 $2 | grep"^<" > f2diff

          wc -l f1diff > Stats
          wc -l f2diff >> Stats

          cat f1diff > Result
          cat f2diff >> Result

          echo " diff effectuer fichier stats & result créer"