Exemples de commande Diff dans Linux

Exemples de commande Diff dans Linux
La commande DIFF est une analyse ou une commande informative qui imprime les différences entre les fichiers, les analysant ligne par ligne ou les répertoires récursivement tout en informant l'utilisateur quelles modifications sont nécessaires pour faire des fichiers égaux, ce point est important pour comprendre les sorties Diff. Ce tutoriel se concentre sur la commande Difff.

Avant de commencer, créez deux fichiers à l'aide de n'importe quel éditeur de texte (Nano est utilisé dans ce tutoriel) avec le même contenu:

# nano diffsample1

Pâte à l'intérieur:

 Linuxhint publie le meilleur contenu pour vous 

Presse Ctrl+X et y pour sauver et sortir.

Créez un deuxième fichier appelé DiffSample2 avec le même contenu:

# nano diffsample2

Note: Faites attention aux espaces et aux onglets, les fichiers doivent être égaux à 100%.

Presse Ctrl+X et y pour sauver et sortir.

# Diff DiffSample1 Diffsample2

Comme vous pouvez le voir, il n'y a pas de sortie, pas besoin de faire quelque chose pour rendre les fichiers égaux car ils sont déjà égaux.

Permet maintenant de modifier le fichier DiffSample2 pour apporter un changement:

# nano diffsample2

Remplacement du mot «Contenu» pour «Conseils»:

Presse Ctrl+X et Y Pour économiser et sortir.

Maintenant courir:

# Diff DiffSample1 Diffsample2

Voyons la sortie:

La sortie ci-dessus, «3C3» signifie «la ligne 3 du premier fichier doit être remplacée pour la ligne 3 du deuxième fichier». La partie amicale de la sortie est qu'elle nous montre quel texte doit être changé (««Contenu pour vous" pour "Conseils pour vous»)

Cela nous montre la référence pour la commande Diff n'est pas le premier fichier mais le second, c'est pourquoi le premier fichier troisième ligne (le premier) doit être modifié (c) comme troisième ligne du deuxième fichier (deuxième 3).

La commande Diff peut afficher 3 caractères:

C: Ce personnage instruit un Changement doit être fait.
un: Ce personnage enseigne que quelque chose doit être Ajoutée.
d: Ce personnage enseigne que quelque chose doit être Supprimé.

Les premiers numéros avant les caractères appartiennent au premier fichier, tandis que les chiffres après les caractères appartiennent au deuxième fichier.

Le symbole du deuxième fichier qui est utilisé comme référence.

Inversons l'ordre des fichiers, au lieu d'exécuter

# Diff DiffSample1 Diffsample2

courir:

# Diff DiffSample2 Diffsample1

Vous pouvez voir comment l'ordre a été inversé et maintenant le fichier DiffSample1 est utilisé comme référence, et il nous demande de changer de «conseils pour vous» pour «Contenu pour vous», c'était la sortie précédente:

Maintenant, modifions le fichier diffsample1 comme ceci:

Supprimer toutes les lignes, à l'exception de la première ligne du fichier diffsample1. Puis courez:

# Diff DiffSample2 Diffsample1

Comme vous pouvez le voir, puisque nous avons utilisé le fichier DiffSample1 comme référence, afin de rendre le fichier diffsample2 exactement égal, nous devons supprimer (d) lignes deux et trois (2,3) comme dans le premier fichier et les premières lignes (1) sera égal.

Permet maintenant d'inverser l'ordre et au lieu de courir "# diffsample diffsample2 diffsample1 ” courir:

# Diff DiffSample1 Diffsample2

Comme vous pouvez le voir, alors que l'exemple précédent nous a demandé de supprimer, celui-ci nous demande d'ajouter (un) lignes 2 et 3 après la première ligne de première ligne (1).

Travaillons maintenant sur la propriété sensible à la casse de ce programme.

Modifiez le fichier diffsample2 comme:

Et modifier le fichier DiffSample1 comme:

La seule différence est la majuscule sur le fichier diffsample2. Permet maintenant de le comparer à nouveau en utilisant Diff:

# Diff DiffSample1 Diffsample2

Comme vous pouvez le voir, Diff a trouvé des différences, les majuscules, nous évitons à Diff de détecter des lettres majuscules, si nous ne nous intéressons pas à la casse sensible en ajoutant le -je option:

# diff -i diffsample1 diffsample2

Aucune différence n'a été trouvée, la détection de cas a été désactivée.

Maintenant, changeons le format de sortie en ajoutant l'option -u Utilisé pour imprimer des sorties unifiées:

De plus, à ce jour et l'heure, la sortie affiche avec un - et + Symbole ce qui doit être supprimé et ce qui doit être ajouté pour que les fichiers soient égaux.

Au début de cet article, j'ai dit que les espaces et les onglets doivent être égaux dans les deux fichiers, car ils sont également détectés par la commande Diff, si nous voulons que la commande diff ignore les espaces et les onglets, nous devons appliquer le -w option.

Ouvrez le fichier DiffSample2 et ajoutez des espaces et des onglets:

Comme vous le voyez, j'ai ajouté quelques onglets après «le meilleur» de la deuxième ligne et également des espaces dans toutes les lignes, fermez, enregistrez le fichier et exécutez:

# Diff DiffSample1 Diffsample2

Comme vous pouvez le voir, des différences ont été trouvées, en plus des majuscules. Permet maintenant d'appliquer l'option -w Pour instruire DIFF à ignorer les espaces vides:

Comme vous le voyez, malgré la tabulation différente uniquement comme la différence, les majuscules.
Ajoutons maintenant l'option -i à nouveau:

#diff -wi diffsample2 diffsample1

La commande diff a des dizaines d'options disponibles pour s'appliquer pour ignorer, modifier la sortie, discriminer les colonnes lorsqu'elles sont présentes, etc. Vous pouvez obtenir des informations supplémentaires sur ces options à l'aide de la commande man, ou sur http: // man7.org / linux / man-pages / man1 / diff.1.html. J'espère que vous avez trouvé cet article avec des exemples de commandes Diff dans Linux utile. Continuez à suivre Linuxhint pour plus de conseils et de mises à jour sur Linux et le réseautage.