TLDR: você não tem garantia de que o grep irá usar seu padrão em ordem.
Suponha que você tenha dois arquivos com o seguinte conteúdo (uma letra por linha, eu dobrei para facilitar a leitura)
File 1
A B D E
e
File 2
A B C D
- O primeiro excluído (desde que você use -v) carta do conjunto 2 (A B C D) no arquivo 1 é E.
- A primeira letra excluída do conjunto 1 no arquivo 2 é C.
A comparação de arquivos geralmente é:
-
cmp file1 file2
para arquivo binário, quando você não se importa com diff (você pode até usar cmp -s (silencioso)) -
diff file1 file2
que mostra um código pseudo sed para ir de arquivo1 para arquivo2 (arquivo diff1 arquivo1 é bastante simétrico) -
comm -123 file1 file2
para mostrar linhas em comum (-3) no arquivo1 (-1) no arquivo2 (-2)