Pour appliquer facilement la commande comm à des fichiers non triés , utilisez la substitution de processus de Bash :
$ bash --version
GNU bash, version 3.2.51(1)-release
Copyright (C) 2007 Free Software Foundation, Inc.
$ cat > abc
123
567
132
$ cat > def
132
777
321
Ainsi les fichiers abc et def ont une ligne en commun, celle avec "132". Utilisation de la communication sur des fichiers non triés:
$ comm abc def
123
132
567
132
777
321
$ comm -12 abc def
$
La dernière ligne n'a produit aucune sortie, la ligne commune n'a pas été découverte.
Maintenant, utilisez comm sur les fichiers triés, en triant les fichiers avec la substitution de processus:
$ comm <( sort abc ) <( sort def )
123
132
321
567
777
$ comm -12 <( sort abc ) <( sort def )
132
Maintenant, nous avons la ligne 132!
comm
nécessitent des fichiers d'entrée triés. Si vous voulez juste du commun ligne par ligne, c'est génial. Mais si vous voulez ce que j'appellerais "anti-diff",comm
cela ne fait pas l'affaire.