Comment utiliser la commande commune dans Linux

Comment utiliser la commande commune dans Linux
La commande Comm est utilisée dans Linux pour comparer différents fichiers, cette commande compare chaque ligne des fichiers et affiche les lignes uniques et les lignes communes des fichiers dans des colonnes distinctes. Le besoin de comparaison des fichiers se produit principalement avec les programmeurs; Quand ils ont besoin de découvrir les modifications apportées au programme au fil du temps.

Dans cet article, nous allons expliquer l'utilisation de la commande Comm dans Linux avec une explication détaillée.

Comment utiliser la commande Comm dans Linux

La commande Comm peut être utilisée pour comparer deux fichiers ligne par ligne, la syntaxe générale de l'utilisation de la commande Comm:

$ comm [Option] file_name1 file_name2

La syntaxe de commande ci-dessus affichera le résultat en trois colonnes; La première colonne affichera les lignes uniques du fichier1, la deuxième colonne affichera les lignes uniques du fichier2, et la troisième colonne affichera les lignes communes des deux fichiers.

Nous pouvons également utiliser certaines options avec la commande Comm; Certaines options couramment utilisées sont:

Options Explication
-1 Il n'affichera pas la première colonne du résultat, qui contient les lignes uniques du fichier1
-2 Il n'affichera pas la deuxième colonne du résultat, qui contient les lignes uniques du fichier2
-3 Il n'affichera pas la troisième colonne du résultat, qui contient les lignes communes des deux fichiers; file1 et file2
-commande de contrôle Il vérifiera que toutes les lignes des deux fichiers sont correctement triées ou non
-ordre de nocheck Il ne vérifiera pas l'ordre de tri et affichera simplement les résultats
-aider Il affichera une invite de message d'aide et sortira
-version Il affichera la version des informations et des sorties
-total Il affichera le nombre total de lignes présentes dans chaque colonne du résultat
-z, -zer-délimiter Il affichera les fichiers séparément au lieu des colonnes; La valeur de zéro délimiteurs est nul
-sortie-délimiter = [n'importe quel caractère] Il remplacera les «espaces» dans les résultats en utilisant le caractère que vous souhaitez y mettre

Pour comprendre toutes ces options, nous considérerons deux fichiers texte avec le nom; mytestfile1.txt et mytestfile2.txt, dont le contenu peut être affiché à l'aide des commandes:

$ cat mytestfile1.SMS
$ cat mytestfile2.SMS

Tout d'abord, nous comparerons les deux fichiers à l'aide de la commande Comm sans aucune option, à cet effet, nous devons utiliser la commande:

$ com mytestfile1.txt mytestfile2.SMS

Comme nous le savons, la commande Comm est applicable sur les fichiers triés, et les fichiers donnés dans la commande ne sont pas triés, il a donc généré les avertissements «fichiers non triés», pour supprimer ces commentaires, nous utiliserons le «-nocheck-ordre» Flag, qui ignorera la vérification de l'ordre de tri et affichera les résultats:

$ Comm - NOCHECK-ORDER MYTESTFILE1.txt mytestfile2.SMS

Dans l'image ci-dessus, nous avons marqué trois colonnes pour une meilleure compréhension des résultats, la première colonne a affiché les lignes uniques de MyTestFile1.txt qui n'est que «fedora», la deuxième colonne affichait les lignes uniques de MyTestFile2.TXT qui n'est que «Debian», et la dernière colonne affichait les lignes communes des deux fichiers. Si nous voulons afficher la colonne 1 (lignes uniques de MyTestFile1.txt) et la colonne 3 (lignes communes des deux fichiers), nous supprimerons la colonne 2 en utilisant le drapeau "-2":

$ Comm -2 - MyTestFile de Nocheck-Order1.txt mytestfile2.SMS

De même, nous pouvons supprimer à la fois la colonne 1, la colonne 2 et afficher la colonne 3 uniquement (contenant les lignes communes des deux fichiers) en exécutant la commande:

$ Comm -12 - MyTestFile1 de Nocheck-Order1.txt mytestfile2.SMS

La sortie n'a affiché que la troisième colonne du résultat, afin de découvrir le nombre total de lignes de chaque colonne, utilisez la commande:

$ Comm - Total - Nocheck-Order MyTestFile1.txt mytestfile2.SMS

Pour vérifier si l'ordre de tri des deux fichiers est soit dans le bon ordre ou non, exécutez la commande Comm à l'aide du drapeau «-check-ordre»:

$ Comm --Check-Order MyTestFile1.txt mytestfile2.SMS

Les résultats montrent que le fichier 1 n'est pas dans l'ordre trié car les noms des fichiers ne sont pas organisés par ordre alphabétique, ni dans l'ordre croissant ou l'ordre descendant, de même, l'indicateur «-zero-délicat» est utilisé:

$ Comm - MyTestFile1 à terminaison duzero.txt mytestfile2.SMS

De même, nous pouvons utiliser le «-output-delimiter = **» par la commande Comm pour remplacer l'espace par «étoile (*)»:

$ Comm --output-Demiter = ** - Nocheck-Order MyTestFile1.txt mytestfile2.SMS

Pour vérifier la version de la commande Comm:

$ Comm --version

Si vous voulez en savoir plus sur la commande Comm, vous pouvez vérifier son manuel en utilisant la commande:

$ man com

Conclusion

La commande Comm est utilisée pour comparer les lignes des fichiers triés dans Linux, cependant, il existe également d'autres façons pour comparer des fichiers tels que la commande diff et l'utilisation de l'éditeur VIM. La commande Comm est facile à utiliser et recommandée lorsque les fichiers contiennent des scripts et seule une comparaison plus simple est nécessaire. Dans cet article, nous avons discuté brièvement de la commande Comm et de ses différentes options à l'aide d'exemples.