Skip to main content

Comment comparer deux fichiers texte avec Linux

Ligne de commandes Linux - partie 2 - Commandes de base (Avril 2025)

Ligne de commandes Linux - partie 2 - Commandes de base (Avril 2025)
Anonim

Ce guide vous montrera comment utiliser Linux pour comparer deux fichiers et afficher leur différence à l'écran ou dans un fichier.

Vous n'avez pas besoin d'installer de logiciel spécial pour comparer des fichiers sous Linux, mais vous devez savoir comment ouvrir une fenêtre de terminal.

Comme le montre le guide lié, il existe de nombreuses façons d’ouvrir une fenêtre de terminal sous Linux. Le plus simple consiste à appuyer simultanément sur les touches CTRL, ALT et T.

Créer les fichiers à comparer

Pour suivre ce guide, créez un fichier appelé "fichier1" et entrez le texte suivant:

10 bouteilles vertes debout sur un mur

10 bouteilles vertes debout sur un mur

Si une bouteille verte tombe accidentellement

Il y aurait 9 bouteilles vertes debout sur le mur

Vous pouvez créer un fichier en suivant ces instructions:

  1. Ouvrez le fichier en tapant la commande suivante: nano file1

  2. Tapez le texte dans l'éditeur nano

  3. Appuyez sur CTRL et O pour enregistrer le fichier.

  4. Appuyez sur CTRL et X pour quitter le fichier.

Maintenant, créez un autre fichier appelé "fichier2" et entrez le texte suivant:

10 bouteilles vertes debout sur un mur

Si 1 bouteille verte tombe accidentellement

Il y aurait 9 bouteilles vertes debout sur le mur

Vous pouvez créer un fichier en suivant ces instructions:

  1. Ouvrez le fichier en tapant la commande suivante: nano file2

  2. Tapez le texte dans l'éditeur nano

  3. Appuyez sur CTRL et O pour enregistrer le fichier.

  4. Appuyez sur CTRL et X pour quitter le fichier.

Comment comparer deux fichiers avec Linux

La commande utilisée sous Linux pour montrer les différences entre 2 fichiers s'appelle la commande diff.

La forme la plus simple de la commande diff est la suivante:

diff fichier1 fichier2

Si les fichiers sont identiques, il n'y aura pas de sortie lors de l'utilisation de cette commande. Cependant, comme il existe des différences, vous verrez une sortie similaire à celle-ci:

2,4c2,3

<10 bouteilles vertes debout sur le mur

<Si une bouteille verte devait tomber accidentellement

<Il y aurait 9 bouteilles vertes debout sur le mur

> Si 1 bouteille verte tombe accidentellement

> Il y aurait 9 bouteilles vertes debout sur le mur

Au départ, le résultat peut sembler déroutant, mais une fois que vous avez compris la terminologie, il est assez logique.

En utilisant vos propres yeux, vous pouvez voir que les différences entre les 2 fichiers sont les suivantes:

  • Le second fichier n'a que trois lignes alors que le premier en contient 4.
  • Le deuxième fichier indique "1 bouteille verte" sur la troisième ligne, tandis que le premier indique "une bouteille verte"
  • Le deuxième fichier dit "il y aurait" au lieu de "il y aurait" sur la dernière ligne

La sortie de la commande diff montre qu'il existe des différences entre les lignes 2 et 4 du premier fichier et les lignes 2 et 3 du deuxième fichier.

Il répertorie ensuite les lignes 2 à 4 du premier fichier suivies des 2 lignes différentes du second fichier.

Comment simplement montrer si les fichiers sont différents

Si vous voulez simplement savoir si les fichiers sont différents et si vous ne souhaitez pas savoir quelles lignes sont différentes, vous pouvez exécuter la commande suivante:

diff -q fichier1 fichier2

Si les fichiers sont différents, les informations suivantes seront affichées:

Les fichiers fichier1 et fichier2 diffèrent

Si les fichiers sont identiques, rien ne s'affiche.

Comment afficher un message si les fichiers sont identiques

Lorsque vous exécutez une commande, vous voulez savoir qu'elle a fonctionné correctement. Vous souhaitez donc qu'un message s'affiche lorsque vous exécutez la commande diff, que les fichiers soient identiques ou différents.

Afin de satisfaire à cette exigence à l'aide de la commande diff, vous pouvez utiliser la commande suivante:

diff -s fichier1 fichier2

Maintenant, si les fichiers sont les mêmes, vous recevrez le message suivant:

Les fichiers fichier1 et fichier2 sont identiques

Comment produire les différences côte à côte

S'il y a beaucoup de différences, les différences entre les deux fichiers peuvent rapidement devenir confuses.

Vous pouvez modifier le résultat de la commande diff afin que les résultats s'affichent côte à côte. Pour ce faire, exécutez la commande suivante:

diff -y fichier1 fichier2

La sortie du fichier utilise le | symbole pour afficher une différence entre les deux lignes, un <pour afficher une ligne supprimée et un> pour afficher une ligne ajoutée.

Il est intéressant de noter que si vous exécutez la commande à l’aide de nos fichiers de démonstration, toutes les lignes s’affichent de manière différente, à l’exception de la dernière ligne du fichier 2, qui apparaît comme ayant été supprimée.

Limiter les largeurs de colonne

Lorsque vous comparez deux fichiers côte à côte, il peut être difficile de lire si les fichiers contiennent beaucoup de colonnes de texte.

Pour restreindre un nombre de colonnes, utilisez la commande suivante:

diff --width = 5 fichier fichier2

Comment ignorer les différences de casse lors de la comparaison de fichiers

Si vous souhaitez comparer deux fichiers sans vous soucier de savoir si la casse des lettres est la même entre les deux fichiers, vous pouvez utiliser la commande suivante:

diff -i fichier1 fichier2

Comment ignorer les espaces blancs en fin de ligne

Si, lors de la comparaison des fichiers, vous remarquez des charges de différences et que celles-ci sont dues à un espace blanc à la fin des lignes, vous pouvez les omettre de la présentation des modifications en exécutant la commande suivante:

diff -Z fichier1 fichier2

Comment ignorer toutes les différences d'espace blanc entre deux fichiers

Si vous ne vous intéressez qu'au texte d'un fichier et que vous ne vous souciez pas de savoir s'il y a plus d'espaces dans l'un que dans l'autre, vous pouvez utiliser la commande suivante:

diff -w fichier1 fichier2

Comment ignorer les lignes vides lors de la comparaison de deux fichiers

Si un fichier peut contenir des lignes vierges supplémentaires, vous pouvez les comparer à l'aide de la commande suivante:

diff -B fichier1 fichier2

Résumé

Vous pouvez trouver plus d'informations en lisant le manuel de la commande diff.

homme diff

La commande diff peut être utilisée dans sa forme la plus simple pour vous montrer simplement les différences entre 2 fichiers, mais vous pouvez également l'utiliser pour créer un fichier diff dans le cadre d'une stratégie de correction, comme indiqué dans ce guide de la commande de correctif Linux.

Une autre commande que vous pouvez utiliser pour comparer des fichiers est la commande cmp, comme le montre ce guide. Cela compare les fichiers octet par octet.