Commande cmp
Objectif
Compare le contenu de deux fichiers et signale le premier caractère qui diffère.
Syntaxe
Descriptif
La commande cmp compare les fichiers désignés par les paramètres File1 et File2 et écrit les résultats dans la sortie standard. Si vous spécifiez un signe - (signe moins) pour le paramètre File1 ou File2 , la commande cmp lit l'entrée standard de ce fichier. Un seul fichier peut être lu à partir d'une entrée standard. Dans les conditions par défaut, la commande cmp n'affiche rien si les fichiers sont identiques. S'ils diffèrent, la commande cmp affiche l'octet et le numéro de ligne auxquels la première différence se produit. Si l'indicateur -l est spécifié et si un fichier est une sous-séquence initiale de l'autre (c'est-à-dire, si la commande cmp lit un caractère de fin de fichier dans un fichier avant de trouver des différences), la commande cmp le remarque. Normalement, utilisez la commande cmp pour comparer les fichiers non texte et la commande diff pour comparer les fichiers texte.
Indicateurs
| Article | Descriptif |
|---|---|
| -l | (L minuscule) Affiche, pour chaque différence, le nombre d'octets en décimal et les octets différents en octal. |
| -S | Renvoie uniquement une valeur de sortie. La valeur 0 indique des fichiers identiques ; la valeur 1 indique des fichiers différents ; la valeur 2 indique un fichier inaccessible ou une option manquante. |
Statut de sortie
Cette commande renvoie les valeurs de sortie suivantes :
| Article | Descriptif |
|---|---|
| 0 % | Les fichiers sont identiques. |
| 1 seul | Les fichiers sont différents. Cette valeur est donnée même si un fichier est une sous-séquence initiale de l'autre (un fichier est identique à la première partie de l'autre). |
| > 1 | Une erreur s'est produite. |
Exemples
- Pour déterminer si deux fichiers sont identiques, entrez:
Ceci permet de comparer prog.o.baket prog.o. Si les fichiers sont identiques, un message ne s'affiche pas. Si les fichiers diffèrent, l'emplacement de la première différence est affiché ; par exemple:cmp prog.o.bak prog.o
Si le messagecmp: EOF on prog.o.baks'affiche, puis la première partie deprog.oest identique àprog.o.bak, mais il y a des données supplémentaires dansprog.o.prog.o.bak prog.o differ: char 4, line 1 - Pour afficher chaque paire d'octets différente, entrez:cmp -l prog.o.bak prog.oCela permet de comparer les fichiers, puis d'afficher le nombre d'octets (en décimal) et les octets différents (en octal) pour chaque différence. Par exemple, si le cinquième octet est octal 101 dansprog.o.baket 141 dansprog.o, la commande cmp affiche:
5 101 141 - Pour comparer deux fichiers sans écrire de messages, entrez:cmp -s prog.c.bak prog.cCela donne une valeur de sortie de0si les fichiers sont identiques, une valeur de1s'il est différent, ou une valeur de2si une erreur se produit. Cette forme de commande est normalement utilisée dans les procédures shell. Par exemple :Cette procédure shell partielle s'afficheNo changesi les deux fichiers sont identiques.
Fichiers
| Article | Descriptif |
|---|---|
| /usr/bin/cmp | Contient la commande cmp . |