Dans le monde Linux, la gestion et la comparaison de fichiers sont une tâche courante aussi bien pour les administrateurs système que pour les développeurs. La possibilité de comparer des fichiers ligne par ligne est cruciale pour identifier les différences, déboguer le code et garantir l'intégrité des données. Un outil puissant qui facilite ce processus est lediff>commande. Dans cet article, nous explorerons comment utiliser lediff>commande pour comparer les fichiers ligne par ligne sous Linux.
chaîne java en entier
Table des matières
- Syntaxe de base de la commande diff
- Options disponibles dans la commande diff
- Implémentation pratique de Comment comparer des fichiers ligne par ligne sous Linux ? :
- Comparaison de deux fichiers
- Suppression d'une ligne dans des fichiers à l'aide de la commande diff
- Affichage des différences en mode contextuel
- Affichage des différences en mode unifié
- Comparaison insensible à la casse entre les fichiers
- Affichage de la version différentielle
Comprendre la commande diff
diff signifie différence .Lediff>La commande est un utilitaire polyvalent préinstallé sur la plupart des distributions Linux. Son objectif principal est de comparer le contenu de deux fichiers et d'afficher les différences entre eux. La commande fournit un moyen complet de mettre en évidence les modifications, les ajouts et les suppressions dans un format clair et lisible.
Cette commande permet d'afficher les différences entre les fichiers en comparant les fichiers ligne par ligne. Contrairement à ses confrères, cmp et communication , il nous indique quelles lignes d'un fichier doivent être modifiées pour rendre les deux fichiers identiques.
La chose importante à retenir est que différence utilise certains symboles spéciaux et instructions qui sont nécessaires pour rendre deux fichiers identiques. Il vous indique les instructions sur la façon de modifier le premier fichier pour qu'il corresponde au deuxième fichier.
Syntaxe de base de la commande diff
La syntaxe de base dudiff>la commande est la suivante :
diff [OPTION]... FILE1 FILE2>
Ici, ` FILE1`> et ` FILE2`> sont les deux fichiers que vous souhaitez comparer.
Le ' OPTION`> flag vous permet de personnaliser le comportement du ` diff`> commande.
Options disponibles dans la commande diff
| Option | Description |
|---|---|
|
| Différences de sortie en mode contextuel |
|
| Différences de sortie en mode unifié (plus concis) |
|
| Effectuer une comparaison insensible à la casse |
| –ignorer tout l'espace analyseur java | Ignorer les espaces lors de la comparaison des lignes |
| -bref | Afficher uniquement si les fichiers diffèrent, aucun détail |
| – récursif | Comparer récursivement les répertoires |
|
| Afficher la sortie dans un format côte à côte |
Implémentation pratique de Comment comparer des fichiers ligne par ligne sous Linux ? :
Comparaison de deux fichiers
Comparez les fichiers ligne par ligne sous Linux.
planification du tournoi à la ronde
Disons que nous avons deux fichiers avec des noms a.txt et b.txt contenant 5 États indiens.
cat a.txt cat b.txt>

afficher le contenu des fichiers à l'aide de la commande cat
Maintenant, en appliquant la commande diff sans aucune option, nous obtenons le résultat suivant :
diff a.txt b.txt>

comparer le fichier ligne par ligne sous Linux
Jetons un coup d'œil à ce que signifie cette sortie. La première ligne du différence la sortie contiendra :
- Numéros de lignes correspondant au premier fichier,
- Un symbole spécial et
- Numéros de ligne correspondant au deuxième fichier.
Comme dans notre cas, 0a1 ce qui signifie après lignes 0 (au tout début du fichier) il faut ajouter Tamil Nadu pour correspondre à la deuxième ligne de fichier numéro 1. Il nous indique ensuite quelles sont ces lignes dans chaque fichier précédées du symbole :
- Lignes précédées d'un < sont des lignes du premier fichier.
- Lignes précédées de > sont des lignes du deuxième fichier.
- La ligne suivante contient 2,3c3 ce qui signifie que la ligne 2 à la ligne 3 du premier fichier doit être modifiée pour correspondre à la ligne numéro 3 du deuxième fichier. Il nous indique ensuite ces lignes avec les symboles ci-dessus.
- Les trois tirets (-) séparez simplement les lignes du fichier 1 et du fichier 2.
En guise de résumé pour rendre les deux fichiers identiques, ajoutez d'abord Tamil Nadu dans le premier fichier au tout début pour correspondre à la ligne 1 du deuxième fichier, après cela, changez les lignes 2 et 3 du premier fichier, c'est-à-dire Uttar Pradesh et Calcutta avec la ligne 3 du deuxième fichier, c'est-à-dire Andhra Pradesh . Après cela, changez la ligne 5 du premier fichier, c'est-à-dire Jammu-et-Cachemire avec la ligne 5 du deuxième fichier, c'est-à-dire Uttar Pradesh .
Suppression d'une ligne dans des fichiers à l'aide de la commande diff
Considérons le scénario oùdiff>indique la nécessité de supprimer une ligne. Étant donné deux fichiers,a.txt>etb.txt>:

afficher le contenu des fichiers à l'aide de la commande cat
diff a.txt b.txt>

Supprimer une ligne dans un fichier
Sortie ci-dessus 3d2 signifie supprimer la ligne 3 du premier fichier, c'est-à-dire Télangana pour que les deux fichiers synchroniser à la ligne 2.
Affichage des différences en mode contextuel
Pour afficher les différences en mode contextuel, utilisez l'option -c option. Essayons de comprendre cela avec un exemple, nous avons deux fichiers fichier1.txt et fichier2.txt :

afficher le contenu des fichiers à l'aide de la commande cat
diff -c file1.txt file2.txt>

Affichage de la différence en mode contextuel
Dans la sortie ci-dessus :
10 ml en onces
- Le premier fichier est désigné par `
***`>, et le deuxième fichier est désigné par `---`>. - La ligne avec `
***************`>sert de séparateur. - Les deux premières lignes fournissent des informations sur le fichier 1 et le fichier 2, affichant le nom du fichier, la date et l'heure de modification.
- Suite à cela, trois astérisques `
***`>sont suivis d'une plage de lignes du premier fichier (lignes 1 à 4). Quatre astérisques `****`>viens ensuite. Le contenu du premier fichier est alors affiché avec des indicateurs spécifiques :- Si une ligne est inchangée, elle est préfixée par deux espaces.
- Si une ligne doit être modifiée, elle est préfixée par un symbole et un espace. Les symboles indiquent :
-
`+`>: Une ligne du deuxième fichier à ajouter au premier fichier pour des résultats identiques. -
`-`>: Une ligne du premier fichier à supprimer pour des résultats identiques.
-
- Trois tirets `
---`>sont suivis d'une plage de lignes du deuxième fichier (lignes 1 à 4), séparées par une virgule. Quatre tirets `----`>suivez, et le contenu du deuxième fichier est affiché.
Affichage des différences en mode unifié
Pour afficher les différences en mode unifié, utilisez l'outil -dans option. C'est similaire au mode contextuel mais il n'affiche aucune information redondante ou il affiche les informations sous une forme concise.

afficher le contenu des fichiers à l'aide de la commande cat
diff -u file1.txt file2.txt>

Visualisation de la différence en mode unifié
Dans la sortie ci-dessus :
- Le premier fichier est indiqué par `
---`>, et le deuxième fichier est indiqué par `+++`>. - Les deux premières lignes fournissent des informations sur le fichier 1 et le fichier 2, y compris la date et l'heure de modification.
- Après cela, '
@@ -1>`,`>4 +1`>,`>4 @@`>désigne la plage de lignes pour les deux fichiers. Dans ce cas, il représente les lignes 1 à 4 des deux fichiers. - Les lignes suivantes représentent le contenu des fichiers avec des indicateurs spécifiques :
- Les lignes inchangées sont affichées sans aucun préfixe.
- Les lignes du premier fichier à supprimer sont préfixées par
->. - Les lignes du deuxième fichier à ajouter sont préfixées par
+>.
Dans cet exemple, la sortie indique que pour rendre les deux fichiers identiques, les lignes contenant mv et comm doivent être supprimées du premier fichier (file1.txt>), et les lignes contenant diff et comm doivent y être ajoutées.
Comparaison insensible à la casse entre les fichiers
Par défaut, ` diff`> est sensible à la casse. Pour effectuer une comparaison insensible à la casse, utilisez le ` -i`> option:

afficher le contenu des fichiers à l'aide de la commande cat
Lediff>La commande est ensuite utilisée pour comparer ces fichiers avec le-i>option, ce qui rend la comparaison insensible à la casse.
diff -i file1.txt file2.txt>

insensible à la casse
2d1>: Cela indique un changement dans la ligne 2 du premier fichier (file1.txt>). Led>signifie supprimer, et il est indiqué de supprimer la ligne 2 du premier fichier.>: Cette ligne signifie le contenu de la ligne à supprimer. Dans ce cas, c'est mv.
3a3>: Ceci indique un ajout à la ligne 3 du premier fichier (file1.txt>). Lea>signifie ajouter, et il dit d'ajouter une ligne à la position 3.>diff>: Cette ligne représente le contenu à ajouter. Dans ce cas, c'est différent.
En résumé, la sortie nous indique que pour rendre les deux fichiers identiques (en ignorant la casse), nous devons supprimer la ligne contenant mv du premier fichier (file1.txt>) et ajoutez la ligne diff à la même position. Lediff>commande, avec le-i>, permet une comparaison insensible à la casse, ce qui lui permet de considérer mv et MV comme identiques lors de l'analyse.
Affichagediff>Version
Pour vérifier la version de ` diff`> installé sur votre système, utilisez le ` --version`> option:
diff --version>

Affichage de la version de la commande diff
Cette commande fournit des informations sur la version, la licence et les auteurs du ` diff`> utilitaire.
Foire aux questions sur la commande diff – FAQ
Comment puis-je utiliser lediff>commande pour comparer deux fichiers ligne par ligne sous Linux ?
Pour comparer deux fichiers ligne par ligne à l'aide de
diff>commande, utilisez simplement la syntaxe suivante :diff file1.txt file2.txt>Cette commande affichera les différences entre les deux fichiers, en mettant en évidence les ajouts, les suppressions et les modifications.
comment trouver des applications cachées sur Android
Puis-je ignorer les différences d'espaces lors de la comparaison de fichiers avec lediff>commande?
Oui le
diff>la commande fournit le-w>ou--ignore-all-space>option pour ignorer les différences d’espaces. Par exemple:diff -w file1.txt file2.txt>Ceci est particulièrement utile lors de la comparaison de fichiers de code dans lesquels les modifications d'indentation ou d'espacement ne sont pas significatives.
Comment puis-je créer un fichier de correctif à l'aide dudiff>commande?
Pour créer un fichier patch représentant les différences entre deux fichiers, utilisez le
-u>option et redirigez la sortie vers un fichier :diff -u file1.txt file2.txt>monpatch.patch>Le fichier de correctif généré peut être appliqué ultérieurement pour synchroniser un autre fichier avec les modifications.
Quel est le format unifié dansdiff>sortie, et en quoi est-elle différente du format de contexte ?
Le format unifié (`
-u`>option) dans `diff`>la sortie fournit une représentation plus concise et lisible des différences par rapport au format contextuel (`-c`>option). Il affiche les modifications sous une forme plus compacte, ce qui facilite la compréhension des modifications entre les fichiers.
Comment comparer récursivement deux répertoires sous Linux à l'aide de l'outildiff>commande?
Pour comparer récursivement deux répertoires et leur contenu, utilisez le `
-r`>ou `--recursive`>possibilité avec lediff>commande:diff -r directory1/ directory2/>Cette commande compare tous les fichiers des répertoires spécifiés et fournit des informations détaillées sur les différences.
Conclusion
Dans le monde Linux, comparer des fichiers est une tâche courante pour les administrateurs système et les développeurs. Le ' diff> La commande est un outil pratique qui aide dans ce processus. Cet article explique comment utiliser ` diff`> pour comparer des fichiers ligne par ligne sous Linux. Il couvre la syntaxe de base, des options importantes telles que le mode contextuel et le mode unifié, ainsi que des applications pratiques telles que la création de fichiers de correctifs et la comparaison récursive de répertoires. Que vous déboguiez du code ou garantissiez l'intégrité des fichiers, comprenez et maîtrisez le ` diff`> La commande est essentielle pour une gestion efficace des fichiers sous Linux.