Alors, comment le «difficulté»La commande fonctionne réellement? Le "difficulté»Commande compare les deux fichiers et publie une liste de différences entre les deux fichiers. Plus précisément, il donne une liste de modifications qui doivent être effectuées dans le premier fichier pour correspondre au deuxième fichier. Le "difficulté»La commande est également utilisée par les programmeurs pour obtenir la différence entre deux fichiers de code source pour développer des correctifs.
Avant de plonger dans les exemples, notez que l'ordre des fichiers est très important. Parce que le "difficulté»La commande donne une sortie en fonction de l'ordre des fichiers.
Comment utiliser la commande «Diff» dans Linux pour comparer les fichiers:
La syntaxe du «difficulté»La commande est mentionnée ci-dessous:
$ Diff [Options] [File1] [File2]
Tout d'abord, créez deux fichiers. Je crée des fichiers texte par le nom de «Test_file_1.SMS" et «Test_file_2.SMS". Ces fichiers contiennent du contenu avec une légère différence:
Utilisez maintenant la commande suivante pour obtenir la différence:
$ Diff Test_file_1.txt test_file_2.SMS
La sortie standard affichait les lignes qui correspondent en fonction de l'ordre des fichiers mentionnés dans la commande. Alors, décodons la sortie:
La comparaison des fichiers est étiquetée, et chaque étiquette a un numéro de chaque côté. Le format est le suivant:
[Numéro de ligne du fichier 1] [Étiquette (A, C, D)] [Numéro de ligne du fichier 2]
Il y a trois étiquettes:
«2d1» indique de supprimer la ligne numéro 2 du premier fichier pour correspondre au deuxième fichier de la ligne numéro 1.
De la même manière, «4c3» signifie effectuer un changement dans la quatrième ligne du premier fichier pour faire correspondre la ligne numéro 3 du deuxième fichier car les deux lignes sont légèrement différentes.
Il existe une autre méthode pour afficher la différence, utilisez le «Diff» commande avec le "-Y" option:
$ diff -y -w 60 test_file_1.txt test_file_2.SMS
Dans la sortie ci-dessus, le contenu de «Test_file_1.SMS" est affiché sur le côté gauche, tandis que le contenu de «Text_file_2.SMS" est affiché sur le côté droit. La différence est indiquée par les symboles:
Le «-W» indique la largeur entre le contenu de deux fichiers. Pour obtenir séparément et afficher la différence, utilisez ce qui suit:
$ diff -y -w 60 - Suppress-Common-lines test_file_1.txt test_file_2.SMS
Comment obtenir la sortie en une seule ligne à l'aide de la commande «Diff»:
Si la méthode étiquetée est difficile à décoder pour vous, il y a une approche plus simple. En utilisant le "-Q" option avec le «Diff» La commande vous donne la sortie en une seule ligne. Eh bien, sans aucune information supplémentaire, cependant:
$ diff -q test_file_1.txt test_file_2.SMS
Si les fichiers diffèrent, la commande ci-dessus donnera une sortie. Si les fichiers sont identiques, il n'y aura pas de sortie. Pour le démontrer, je crée une copie de «Test_file_1.SMS" en utilisant:
$ cp test_file_1.txt test_file_3.SMS
Un nouveau fichier sera créé par le nom de «Test_file_3.SMS" contenant le même contenu que «Test_file_1.SMS" a. Maintenant, utilisez:
$ diff -q test_file_1.txt test_file_2.SMS
Étant donné que les deux fichiers ont un contenu similaire, il n'y aurait donc pas de sortie.
Comment vérifier la différence de fichiers en mode contexte à l'aide de la commande «Diff»:
Pour obtenir la comparaison en mode contexte, le «-C» L'option sera utilisée avec le «Diff» commande:
$ diff -c test_file_1.txt test_file_2.SMS
Disséquons la sortie.
Pour maintenir la différence, le premier fichier est indiqué par «***» ainsi que la date et l'heure de la création, tandis que le deuxième fichier est indiqué par «-».
La ligne suivante signifie une gamme de lignes considérées lors de la comparaison. Pour le premier fichier, c'est «*** 1,6 ****» Et pour le deuxième fichier, c'est «-1,5--»:
La différence est indiquée par les symboles:
Comment vérifier la différence de fichiers en mode unifié à l'aide de la commande «Diff»:
Le mode unifié est assez similaire au mode contexte mais sans informations redondantes. Le drapeau que nous utilisons est "-U":
$ diff -u test_file_1.txt test_file_2.SMS
Dans la sortie, le premier fichier est indiqué par «-» et le second par «+++». La deuxième ligne montre le nombre de lignes considérées pour la comparaison dans les deux fichiers, puis le contenu à supprimer, ajouté ou modifié avec les symboles avec eux. Il n'y aura pas de symbole avec des lignes similaires dans les deux fichiers.
Comment ignorer la sensibilité des cas lors de l'utilisation de la commande «Diff»:
Si vous souhaitez comparer les fichiers tout en ignorant la sensibilité des caisses, utilisez le "-je" drapeau:
$ diff -i test_file_1.txt test_file_2.SMS
Pour une démonstration, j'ai fait le "D" de "Profond dans" Dans le premier fichier petit:
Comme le montre la première commande, la différence est indiquée; en utilisant "-je" Cette différence a été supprimée.
Quelques autres options utiles du «Diff» La commande est répertoriée ci-dessous:
Option | Description |
---|---|
-un | Cette option traite tous les fichiers comme des fichiers texte |
-B | Il ignore la modification où les lignes sont toutes vides |
-E | Cette option ignore l'expansion de l'onglet |
-je | Il ignore les changements où toutes les lignes correspondent |
-s | Donne la sortie lorsque deux fichiers sont identiques |
-w | Il ignore tout espace blanc |
-Z | Il ignore l'espace blanc à la fin de la ligne |
Comment utiliser VIM Editor pour comparer deux fichiers:
Une autre méthode pour comparer deux fichiers consiste à utiliser le «Vimdiff» commande. Pour cela, vous devez faire installer VIM:
$ sudo apt install vim
Maintenant, pour comparer deux fichiers à utiliser:
$ vimdiff test_file_1.txt test_file_2.SMS
Les deux fichiers seront ouverts côte à côte. La partie qui ne correspond pas sera mise en évidence:
Comment comparer deux fichiers à l'aide de «Colordiff»:
Une autre approche est une sorte d'extension du «Diff» commande. Vous pouvez rendre la comparaison plus identifiable en y ajoutant des couleurs. Pour installer l'utilisation:
$ sudo apt installer coordiff
Pour comparer les fichiers, utilisez:
$ Colordiff test_file_1.txt test_file_2.SMS
Vous pouvez remplacer «Diff» avec "Colordiff" Pour obtenir la sortie standard du «Diff» Commande au format coloré.
Conclusion:
Pour comparer les fichiers dans Linux et même dans MacOS, un utilitaire utilisé est appelé «Diff». L'utilitaire «Diff» compare deux fichiers et donne des informations sur les différences entre les deux fichiers. Les développeurs utilisent principalement la commande «diff» pour créer des fichiers de correctifs.
Dans ce guide, nous avons en détail discuté du «Diff» commande et comment l'utiliser pour comparer deux fichiers avec des options différentes. Nous avons également appris à utiliser "Colordiff" Pour rendre les différences de fichiers plus reconnaissables. Mais si vous trouvez l'utilité basée sur les terminaux difficiles à utiliser, il existe également des outils basés sur l'interface graphique, tels que Kompare, Diffmerge, MELD - DIFF Tool et diffuse - GUI GIFF Tool.