Existe um comando para fazer isso: comm
. Como afirmado em man comm
, é simples:
comm -3 file1 file2
Print lines in file1 not in file2, and vice versa.
Observe que comm
espera que o conteúdo dos arquivos seja classificado, portanto você deve classificá-los antes de chamar comm
neles, assim:
sort unsorted-file.txt > sorted-file.txt
Então, para resumir:
sort a.txt > as.txt
sort b.txt > bs.txt
comm -3 as.txt bs.txt > result.txt
Após os comandos acima, você terá linhas esperadas no arquivo result.txt
.