GNU/Linux >> Tutoriels Linux >  >> Linux

Une introduction à la commande diff

La commande diff du package diffutils compare les fichiers ligne par ligne. Il est très pratique lorsque vous souhaitez vérifier s'il y a eu des modifications récentes dans un fichier depuis la dernière sauvegarde et quelles sont-elles. Un état de sortie de 0 signifie qu'aucune différence n'a été trouvée, 1 signifie que des différences ont été trouvées, et 2 signifie ennuis. Et bien sûr, s'il y a des changements, diff vous les montrera. Mais regardons quelques exemples.

Exemple 1 :Les deux fichiers ont le même contenu

Alice et Bob font chacun un barbecue et ont publié leurs menus. Pour décider quel menu j'apprécierais le plus, je pourrais comparer les menus comme suit :

$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork

Vous voyez, les deux servent des côtes levées, de la poitrine et du porc effiloché. Il n'y a pas de différence entre les deux fichiers. Peut-être qu'Alice et Bob devraient unir leurs forces pour organiser un très gros barbecue.

Quand Eve a appris qu'Alice et Bob organisaient des fêtes, elle est devenue jalouse et a également décidé d'organiser un barbecue. Son menu est livré avec le fichier menu3 . Eh bien, voyons quelles sont les différences dans son menu par rapport à celui d'Alice et de Bob.

Exemple 2 :Maintenant, il y a des boissons impliquées

$ diff menu1 menu3
4a5,8
> 
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$

Il y a des différences maintenant. Et, avec la sortie sur la première ligne, diff nous indique ce qu'il faut ajouter (a) à menu1 afin qu'il ait le même contenu que menu3 . Donc, 4a5,8 signifie que vous devez ajouter quelques lignes après la ligne 4 dans menu1 pour qu'il ressemble aux lignes 5 à 8 dans menu3 .

Lors du changement de position des fichiers, la sortie est différente :

$ diff menu3 menu1
5,8d4
< 
< # Drinks
< * Soda
< * Beer

Maintenant, diff nous indique que les lignes 5 à 8 dans menu3 doivent être supprimés (d) pour rendre le fichier identique à menu1 .

Exemple 3 :Lorsqu'il y a quelque chose à changer

J'ai modifié menu1 et menu2 à nouveau pour ressembler à ceci :

# The menu
* Spare Ribs
* Brisket
* Pulled Pork

# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork

Cette fois, diff va nous montrer quelle ligne doit être modifiée (c) pour que les deux fichiers se ressemblent :

$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork

En conclusion

Le diff command est un outil facile et flexible à utiliser pour comparer les fichiers ligne par ligne. Jetez un œil à diff(1) pour comprendre ce que l'on peut faire d'autre avec diff .

[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ]


Linux
  1. Une introduction à l'utilisation de tcpdump sur la ligne de commande Linux

  2. Introduction à la commande Linux chmod

  3. Introduction à la commande Linux chown

  4. Maîtrisez la commande Linux ls

  5. Une introduction aux utilitaires GNU Core

Guide Ansible :la commande ad hoc

La commande Linux tar expliquée

Maîtrisez la ligne de commande Linux

Commande diff sous Linux

Une introduction au registre des conteneurs de Quay

La commande timer sous Linux