comm (compara dos ficheros y muestra líneas comunes)

comm [OPCIÓN]... FICHERO1 FICHERO2 comprara los dos ficheros indicados y muestra (por defecto) tres columnas, la primera las líneas únicas del primer fichero, la segunda las líneas únicas del segundo fichero y la tercera columna, las líneas comunes de ambos.

Importante
los ficheros DEBEN estar ordenados con sort.

Poodemos usar los parámetros -1 -2 -3 para suprimir cualquiera de las 3 columnas.

Pero veamos unos ejemplos para que quede claro:

$ cat 1
86
98
354
456
1245
3564

$ cat 2
74
98
354
556
1245
6564

$ comm 1 2
        74
86
                98
comm: file 1 is not in sorted order
comm: file 2 is not in sorted order
                354
456
1245
3564
        556
        1245
        6564

$ comm --nocheck-order 1 2
        74
86
                98
                354
456
1245
3564
        556
        1245
        6564

Como se puede ver si los ficheros aunque visualmente los ficheros están ordenados, para el el comando comm no lo están, por lo que primero debemos ordenarlos con sort:

$ sort 1 > 1.sort

$ sort 2 > 2.sort

$ cat 1.sort
1245
354
3564
456
86
98

$ cat 2.sort
1245
354
556
6564
74
98

$ comm 1.sort 2.sort
                1245
                354
3564
456
        556
        6564
        74
86
                98

Retro

Lugares

Redes

Sistemas

Varios