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
- 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...
- 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.
- Amazon Kindle Edition
- German (Langue de Publication)
- Éditeur: MITP Verlags GmbH & Co. KG
- Complete Linux Academy Courses!
- Save videos for offline viewing!
- Use notecards to increase learning!
- English (Langue de Publication)
- Amazon Kindle Edition
- English (Langue de Publication)
- No Starch Press
- Hardcover Book
- English (Langue de Publication)
- Éditeur: No Starch Press
- English (Langue de Publication)
- Éditeur: Addison-Wesley Professional
- English (Langue de Publication)
- Éditeur: No Starch Press