Dois passos:
- crie um script removedor (AUX) com
print unless m!gmail.com!hotmail.com|...!
(o expressio regular é enorme, mas não há problema) - aplique-o a
All.txt
Código:
perl -n0E 's/\n/|/g; say "print unless m!\b($_ç)\b!\n" ' remove.txt > AUX
perl -n AUX All.txt > outfile
Atualização 1:
para não diferenciar maiúsculas de minúsculas, adicione um i
no operador de correspondências:
perl -n0E 's/\n/|/g; say "print unless m!@($_=)\b!i\n" ' remove.txt > AUX
Update2 para ter domínios extra de remoção: crie um novo arquivo com o lista de exceções (extra.txt) e:
cat remove.txt extra.txt |
perl -n0E 's/\n/|/g; say "print unless m!@($_=)\b!i\n" ' > AUX
perl -n AUX All.txt > outfile