Provavelmente você está procurando comm
:
$ comm <(sort file1.csv) <(sort file2.csv)
1,2,3,4
5,6,7,8
9,10,11,12
9,9,11,12
9,9,9,9
Por padrão, ele imprimirá as linhas presentes apenas no primeiro arquivo como a primeira coluna, as que estão presentes na segunda coluna e as que estão no segundo arquivo como a terceira coluna. Você pode usar -1
, -2
ou -3
para suprimir qualquer uma dessas colunas. Por exemplo:
-
Mostrar apenas aqueles que estão nos dois arquivos:
$ comm -12 <(sort file1.csv) <(sort file2.csv) 1,2,3,4 5,6,7,8
-
Mostrar apenas as linhas presentes no primeiro arquivo, mas não no segundo:
$ comm -32 <(sort file1.csv) <(sort file2.csv) 9,10,11,12
-
Mostrar apenas linhas presentes no segundo arquivo, mas não no primeiro:
$ comm -31 <(sort file1.csv) <(sort file2.csv) 9,9,11,12 9,9,9,9