Lecabanon.Org
Accueil > Informatique > Linux > Comparaison de fichiers

Comparaison de fichiers

mercredi 23 novembre 2011, par Webmaster

Comparer un ou plusieurs fichiers sous Linux et autres système Unix.

Comparer deux fichiers avec cmp.

La commande cmp indique si les fichiers sont identiques.

Quand les fichiers le sont la commande ne renvoie rien.

Par contre quand les fichiers ne sont pas identiques, elle indique ce qui est différent avec la ligne et le caractère.

Exemple avec deux fichiers identiques :

sh-3.2#

sh-3.2# cmp test1.txt test2.txt

sh-3.2#

Avec une différence :

sh-3.2#

sh-3.2# cmp test1.txt test2.txt

test1.txt test2.txt differ : char 8, line 1

sh-3.2#

Édition des différences entre deux fichiers : diff

La commande diff permet de rechercher les différences entre deux fichiers ligne par ligne.

La syntaxe de la commande est la suivante :

sh-3.2# diff test1.txt test2.txt

Le résultat est dans notre exemple :

sh-3.2# diff test1.txt test2.txt

1c1

< exemple

— -

> exemple2

sh-3.2#

Ici diff nous indique que la différence est sur la 1° ligne.

Dans d’autres cas, on pourrait avoir des sorties comme cela :
31,50c 56,58 ce qui signifie que pour que le 1° fichier soit identique au 2°, les lignes 31 à 50 doivent être toutes échangées contre les lignes 56 à 58 du 2° fichier.

Il existe aussi sdiff qui montre sur deux colonnes la différence entre deux fichiers :

sh-3.2# diff test1.txt test2.txt
test1 test1
test1 | test2
test2 test2
sh-3.2#

sdiff montre la différence avec un |, comme dans l’exemple ici : test1 | test2

SPIP | Plan du site | Suivre la vie du site RSS 2.0 |

2 visiteurs en ce moment