La Commande Cmp Sous Linux Avec Des Exemples Simples

La commande cmp est utilisée pour comparer deux fichiers sous Linux. Il est surtout utile pour les scripts car il signale uniquement si les fichiers sont différents ou non. Il ne rapporte pas les différences. Il peut également être utilisé pour comparer des fichiers non textuels tels que des bibliothèques, des images, de la musique, etc.

Utilisation De Base De La Commande Cmp

cmp fichier_1 fichier_2

Comparer des fichiers

Si les fichiers sont identiques, cmp renvoie 0 comme état de sortie. Si les fichiers diffèrent, cmp renvoie 1 comme état de sortie.

Utilisation De La Commande Cmp

Voyons maintenant les utilisations pratiques de la commande cmp.

1. Comparez Deux Images

cmp img.png same_img.png

Vous pouvez utiliser la commande cmp pour comparer des images car cmp compare les fichiers octet par octet. Puisque les images sont aussi un flux d’octets, si les deux flux sont identiques, cela signifie que les images sont identiques. Dans ce cas, cmp ne rapportera rien.

2. Comparez Les Sauvegardes Avec Le Fichier Actuel

cmp prog.o.bak prog.o

Ceci compare prog.o.bak et prog.o . Si les deux fichiers diffèrent, cmp imprimera un message comme :

prog.o.bak prog.o différent : car 4, ligne 1

Une autre sortie qui peut être produite est la suivante.

cmp : EOF sur prog.o.bak 

Si cela est affiché, alors une partie de prog.o est identique à prog.o.bak , mais il y a des données supplémentaires dans prog.o.

3. Comparez Les Fichiers Dans Les Scripts

#!/bin/bash
si cmp -s prog.c.bak prog.c
ensuite
 echo "Ces fichiers sont les mêmes."
Fi

cmp donne une valeur de sortie de 0 si les fichiers sont identiques, une valeur de 1 s’ils sont différents, ou une valeur de 2 si une erreur se produit. En conséquence, ce script imprimera « Ces fichiers sont les mêmes ». si les fichiers sont identiques.

4. Comparez Les Fichiers Texte Avec La Commande Cmp

cmp fonctionne essentiellement sur les fichiers qui contiennent le texte. Mais, nommé pipes, une fonctionnalité fournie par Linux peut être utilisée pour comparer directement du texte sans avoir besoin de créer de fichiers ! Cette astuce BASH peut être utile pour comparer de longs liens vers des sites Web. Donc, si vous ne voulez pas vous fatiguer les yeux en faisant correspondre les liens ou si vous êtes simplement paresseux, utilisez des tuyaux nommés avec cmp.

cmp <(écho "bonjour") <(écho "bonjour")

Comparer du texte brut

Les deux textes étant identiques, cmp n’imprime rien. Comparons maintenant deux textes non identiques.

cmp <(echo "bonjour") <(echo "bonjour bonjour")

Comparer du texte brut

Comme prévu, cmp signale qu’il existe une différence.

Remarque : j’ai mentionné plus tôt que vous n’avez pas besoin de créer de fichiers pour comparer du texte si vous utilisez des canaux nommés.
Les canaux nommés sont en fait des fichiers internes – des « fichiers gérés » créés par BASH pour vous.
BASH fait tout le sale boulot pour vous et vous, en tant qu’utilisateur, n’avez pas à vous soucier de créer des fichiers externes pour simplement comparer du texte.

Conclusion

Linux Mint 17.2 “Rafaela”
  • Update Manager, It shows more information, it looks better, it feels faster, and...
  • Driver Manager, The Driver Manager is now able to install drivers without a...
  • Login Screen, Multi-monitor support was improved:
  • Language Settings, A new "Language Settings" tool was introduced. It replaces...
  • Menu Improvements, The menu applet received two mintMenu features: Right-click...
Site Athletics A Real Professional in Linux 1 Guaranteed 2 Hoodie Dark Silver
  • Good hoodie with good standards of quality.
  • Wash Cold, Dry Low.
  • The final product is made of 100% cotton.
  • This is a very comfortable hoodie to wear and also perfect as a gift to your...
  • High printing quality as well.
Linux Academy
  • Complete Linux Academy Courses!
  • Save videos for offline viewing!
  • Use notecards to increase learning!
  • English (Langue de Publication)
Promo
Linux All-in-One For Dummies
  • English (Langue de Publication)
  • Éditeur: For Dummies
Promo
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
  • No Starch Press
  • Hardcover Book
  • English (Langue de Publication)
  • Éditeur: No Starch Press
UNIX and Linux System Administration Handbook (5th Edition)
  • English (Langue de Publication)
  • Éditeur: Addison-Wesley Professional
Linux
  • English (Langue de Publication)
  • Éditeur: QuickStudy
Promo
The Linux Command Line, 2nd Edition: A Complete Introduction
  • English (Langue de Publication)
  • Éditeur: No Starch Press