Não é inesperado. O retorno do carro move o cursor para o início da linha. grep
já imprimiu o nome do arquivo e o número da linha, e o conteúdo da linha correspondente substitui isso (devido ao retorno do carro antes e depois do primeiro foo
na linha).
As devoluções de carro também podem ser gravadas como \r
:
printf '\rfoo\rfoo\nfoo\n' >file
Isso criará um arquivo com duas linhas. A primeira linha conterá a palavra foo
duas vezes, mas o retorno de carro moverá o cursor para o início da linha. Se estiver usando cat
para visualizar este arquivo, parecerá que há apenas um foo
na primeira linha.