Nos comentários, concluo que o arquivo animal3.txt
tem retornos de carro no final de pelo menos algumas linhas. Esses caracteres se tornam parte do padrão que o grep
está usando, o que faz com que os padrões não correspondam ao arquivo animal.txt
.
Se o arquivo não deve ter retornos de carro, você pode usar
tr -d '\r' <animal3.txt >animal3-new.txt
para excluí-los. Você pode então substituir o arquivo animal3.txt
original pelo arquivo animal3-new.txt
corrigido.