Você deve restaurar a partir do backup ou do controle de origem, como @Mat sugerido, porque, do contrário, você não pode ter 100% de certeza limpou tudo.
O problema com seu comando é o -0
sinalizador para xargs
, porque dessa forma xargs
está esperando argumentos terminados em nulo, o que não funciona com a saída de grep -l
. Basta soltar o -0
e ele funcionará, desde que os nomes dos arquivos não possuam espaços em branco.
grep -l '@error' * | xargs sed -i 's/error/nothing/g'