Aperçu
comm, abréviation de 'common', est une commande spécialisée dans la comparaison de lignes entre deux fichiers déjà triés. Elle compare le contenu des fichiers en parallèle et affiche les résultats en trois colonnes distinctes. La première colonne contient les lignes uniques au premier fichier, la deuxième colonne les lignes uniques au second fichier, et la troisième colonne les lignes communes aux deux fichiers. Cette commande est particulièrement puissante pour comparer des données textuelles triées, telles que des listes de bases de données ou des listes d'identifiants d'utilisateur.
Caractéristiques principales
Les principales caractéristiques de la commande comm sont les suivantes :
- Utilisée pour comparer deux fichiers triés. (Si les fichiers ne sont pas triés, la commande `sort` doit être utilisée en premier.)
- Affiche les résultats de la comparaison clairement séparés en trois colonnes.
- Facilite l'identification rapide des similitudes et des différences dans les données textuelles.
- Permet de masquer sélectivement les colonnes de sortie pour diverses utilisations.
comm vs diff
comm et diff sont tous deux des outils de comparaison de fichiers, mais ils diffèrent dans leur fonctionnement et leur objectif.
- comm: Spécialisé dans les fichiers triés, il affiche les lignes communes et uniques en trois colonnes. Il ne détecte pas les modifications (modifications du contenu des lignes).
- diff: Peut comparer des fichiers non triés et affiche en détail toutes les modifications (ajouts, suppressions, modifications) ligne par ligne.
Options principales
Les options de la commande comm sont principalement utilisées pour masquer des colonnes spécifiques.
1) Contrôle des colonnes de sortie
2) Aide
Commande générée :
Essayez de combiner les commandes.
Description:
`comm` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Explorez les fonctionnalités de la commande comm à travers divers exemples d'utilisation.
Comparer les lignes communes et uniques de deux fichiers
comm file1.txt file2.txt
Compare le contenu de deux fichiers triés en trois colonnes.
Afficher uniquement les lignes communes aux deux fichiers
comm -12 file1.txt file2.txt
Utilise les options `-1` et `-2` pour masquer les lignes uniques au premier et au deuxième fichier, n'affichant que les lignes communes.
Afficher uniquement les lignes uniques aux deux fichiers
comm -3 file1.txt file2.txt
Utilise l'option `-3` pour masquer les lignes communes et afficher uniquement les lignes uniques à chaque fichier.
Comparer des fichiers non triés
comm <(sort file1.txt) <(sort file2.txt)
Vous pouvez utiliser la commande `sort` avec un pipe (`|`) et `comm` pour comparer des fichiers non triés.
Installation
comm est généralement inclus par défaut dans la plupart des distributions Linux dans le cadre du paquet `coreutils`. Aucune installation séparée n'est nécessaire.
Astuces et précautions
Voici quelques points à noter lors de l'utilisation de la commande comm.
Astuces
- Avant d'utiliser comm, vous devez **impérativement trier le contenu des fichiers**. Si les fichiers ne sont pas triés, vous n'obtiendrez pas de résultats de comparaison corrects.
- Pour vérifier si un fichier est trié, vous pouvez exécuter `comm file1.txt file2.txt` et vérifier si la sortie est différente de ce qui est attendu, ou trier les fichiers avec la commande `sort` avant de les comparer à nouveau.
- La syntaxe `<(...)` est une substitution de processus, qui transmet le résultat de la commande `sort` à `comm` comme s'il s'agissait d'un fichier temporaire. Cette méthode permet de comparer facilement des fichiers non triés.