Você pode usar o sinalizador -f
para grep para todas as linhas no Arquivo B:
grep -v -f FileB FileA
Isso é quase o que você quer. Mas isso remove também as linhas em que os padrões de FileB
não são no final, e você declarou explicitamente que só deve corresponder quando estiver no final. Portanto, precisamos modificar FileB
de acordo. Podemos usar sed
para adicionar o regex
ao final da linha, que é o sinal $
:
sed 's/$/$/' FileB
Parece que não está substituindo nada, mas na verdade está adicionando um $
em cada final de linha.
Agora podemos usar a substituição de processo para juntar tudo isso:
grep -v -f <(sed 's/$/$/' FileB) FileA