La commande Linux diff analyse un fichier ligne par ligne et donne en sortie une liste des modifications apportées entre deux fichiers.
La commande diff est l'abréviation de difference, qui en substance donne les différences entre deux fichiers .
Contrairement au cmp
(comparer) et comm
commandes, diff met en surbrillance la ligne spécifique qui doit être modifiée pour correspondre aux autres fichiers.
Une chose que les administrateurs Linux ne peuvent pas oublier est que diff utilise des symboles et des instructions pour le rendre plus efficace.
Les symboles spécifiques indiquent à la commande de modifier le fichier d'une manière particulière pour correspondre au second.
Symboles spéciaux dans la sortie de la commande diff :
- a :ajouter
- c :modifier
- d :supprimer
Syntaxe de commande Linux diff
diff [options] File1 File2
Jetons un coup d'œil aux exemples d'utilisation de la commande diff.
Cas 1 :Modification
Supposons que nous ayons deux fichiers :x.txt et y.txt
x.txt contient le contenu suivant.
California
Miami
Ohio
Kansas
Texas
y.txt contient le contenu suivant.
California
Nevada
Georgia
Kansas
Texas
Maintenant, utilisez la commande diff pour faire la comparaison entre les deux fichiers comme indiqué.
$ diff x.txt y.txt
Exemple de sortie
Examinons la sortie plus en détail.
Le 2,3c2,3
ligne implique que les lignes 2 et 3 du premier fichier doivent être modifiées afin de correspondre aux lignes 2 et 3 du deuxième fichier texte.
Explication des symboles de sortie de la commande diff
Examinons brièvement les différents symboles rencontrés dans la sortie.
- Le symbole inférieur à indique les lignes à partir de la première ligne
- Le symbole supérieur à indique les lignes à partir de la deuxième ligne
a - Denotes that text was added to the file
c - Denotes that changes were made in the file
d - Indicates that the line was expunged or deleted
Prenons un autre exemple.
Cas 2 :Ajout
Nous avons deux fichiers texte :
Le fichier fichier 1.txt a le contenu suivant.
Linux is a great operating system
It's free and opensource
It's light and stable
I would highly recommend it
fichier2.txt a le contenu suivant.
Linux is a great operating system
It's free and opensource
It's light and stable
Oh ! It can be installed on almost any PC hardware
I would highly recommend it
Utilisez la commande diff pour comparer les deux fichiers.
$ diff file1.txt file2.txt
Exemple de sortie
À partir de la sortie ci-dessus, 3a4
implique que après la ligne 3 du premier fichier, une autre ligne doit être ajoutée pour correspondre à la ligne 4 du deuxième fichier .
Cas 3 :suppression
Considérez deux fichiers comme ci-dessous.
fichier3.txt avec le contenu suivant.
Apples
Oranges
Mangoes
Peaches
Bananas
Grapes
Et file4.txt qui a le contenu suivant.
Apples
Oranges
Mangoes
Bananas
Grapes
Encore une fois, utilisez la commande diff pour comparer les deux fichiers.
$ diff file3.txt file4.txt
Exemple de sortie
Voici la sortie 4d3 signifie que supprimer la 4ème ligne du premier fichier pour se synchroniser avec le deuxième fichier à la ligne numéro 3.
Conclusion
La commande Linux diff est un utilitaire simple pour comparer deux fichiers. C'est utile pour vérifier les changements entre deux versions d'un fichier texte.