[commande]afficher la différence entre 2 file

bonjour ,
je cherche une commande qui m'affiche sur la meme console , en meme temps , 2 fichirers en indiquant les différences si ca existe .

on me l'a montré une fois mais je ne la retrouve plus !!!

kkun peut m'aider svp

8 réponses

  1. Modérateur
    Salut,
    diff fich1 fich2
    "man diff" pour de plus amples renseignements ;-))
    0
    1. merci pour la réponse , j'ai dejà jetté un coup d'oail sur diff , et cmp mais c pas exactement ce que je cherche ,

      le commande que je cherche affiche les 2 fichiers l'un à droite l'autre à gauche spéparé par une longue pipe
      0
      1. Contributeur
        Salut,

        man diff fait état de l'option --side-by-side, qui ressemble à ce que tu dis.

        Dal
        -1
        1. Modérateur
          Sinon dans "vim", tu ouvres ton 1er fichier et tu tapes :
          :vert diffsplit 2ndfichier
          T'auras le résultat que tu souhaites, à savoir tes 2 fenêtres et ton "long pipe" au milieu ;-))
          1
          1. merci infiniment :)

            c excellent sauf que mes fichiers contiennent dans les 2500000 lignes et apparement ca plante !

            je n'arrive pas à voire les lignes qui ne sont pas identiques !

            kkun a une idée comment faire pour des gd fichiers :)
            0
            1. Modérateur
              Salut,

              il faut peut être essayer avec un script.

              lami20j

              P.S. Il sera bien d'avoir les fichiers s'ils ne contient pas des donnes sensibles
              0
              1. Modérateur
                Re-

                Alors si tes fichiers ne contiennent pas des données sur de grandes lignes (phrases), mais par contre des valeurs ou des mots (2-3 max), tu peux regarder du côté de la commande "comm".
                Elle compare les lignes de 2 fichiers et les affichent sous forme de colonnes ("man comm" pour plus de détails) :
                jp@Mandrake:~/tmpfs ssh$ cat essai.txt
                1
                2,5
                3
                4
                5
                6
                7
                8
                9
                10
                
                jp@Mandrake:~/tmpfs ssh$ cat essai_2.txt
                1
                2
                3
                4
                5
                6,5
                7
                8
                9
                10
                
                jp@Mandrake:~/tmpfs ssh$ comm  essai.txt essai_2.txt
                                1
                        2
                2,5
                                3
                                4
                                5
                6
                        6,5
                                7
                                8
                                9
                                10
                
                jp@Mandrake:~/tmpfs ssh$ comm  -3 essai.txt essai_2.txt
                        2
                2,5
                6
                        6,5
                jp@Mandrake:~/tmpfs ssh$
                ;-))
                0
                1. la commande que tu cherche est sdiff : man sdiff
                  0
                  1. Modérateur
                    Espérons qu'il l'ait trouvé depuis 4 ans ;-\
                    0
                  2. Modérateur
                    Salut,

                    Oui, mais il y a 4 ans il n'avait pas la commande sniff ;-DD
                    0
                  3. Modérateur
                    ;-))
                    0
                  4. comme dit jypycy dans Vim mais la commande plus simple est

                    vimdiff fichier1 fichier2
                    0