Comparaison de fichiers |
![]() |
![]() |
Les filtres UNIX |
La commande cmp indique si deux fichiers sont identiques. En tapant :
cmp fichier1 fichier2
Si les deux sont identiques, la commande ne génère aucune sortie, s'ils sont différents la commande indique la position de la première différence (ligne et caractère), avec une sortie du genre :
fichier1 fichier2 differ : char 34, line 2
Cette commande permet de rechercher les différences entre deux fichiers. La syntaxe est la suivante diff fichier1 fichier2, diff fait en sorte de vous donner des indications pour que le fichier1 soit identique au fichier2. Soit le fichier carnet-adresse :
olivier:29:0298333242 :Brest |
marcel:13:0466342233 :Marseille |
myriam:30:0434214452 :Nimes |
yvonne:92:013344433 :Palaiseau |
toto :12 :0434231122 :Rodez |
et carnet-adresse2
olivier:29:0298333242 :Brest |
marcel:13:0466342233 :Gardagnes |
myriam:30:0434214452 :Nimes |
yvonne:92:013344433 :Palaiseau |
La commande :
diff carnet-adresse carnet-adresse2
Génère comme sortie :
2c2 |
< marcel:13:0466342233 :Marseille |
--- |
<marcel:13:0466342233 :Gardagnes |
5d |
>toto :12 :0434231122 :Rodez |
Ce qui nous indique que pour carnet-adresse soit identique à carnet-adresse2, il faut que la deuxième ligne du premier fichier soit échangée (c pour change) contre la ligne du second. Il faut aussi supprimer (d pour delete) la cinquième ligne du premier fichier.
Dans d'autres exemples, on pourrait avoir aussi une sortie du genre 10,15c 12,17 ce qui signifie que pour que le premier fichier soit identique au second, les lignes 10 à 15 doivent intégralement échangées contre les lignes 12 à17 du second fichier.