Isso aconteceu porque a primeira coisa que o >
faz é criar o arquivo que deseja gravar - e se o arquivo já existir, seu conteúdo será excluído. (Além disso, não é necessário usar cat
em sua instrução, pois grep
funciona em arquivos, não apenas em STDIN.)
A maneira correta de fazer isso é usar um arquivo temporário para ler ou gravar. Então, ou
cp /opt/webapplications/Word/readme.log /tmp/readme.log
grep -v 'Apple' /tmp/readme.log > /opt/webapplications/Word/readme.log
ou
grep -v 'Apple' /opt/webapplications/Word/readme.log > /tmp/readme.log
mv /tmp/readme.log /opt/webapplications/Word/readme.log
funcionaria.