
Atualmente fazendo um pequeno experimento no shell.
Meus comandos são os seguintes:
echo 'This a cool butterfly' > test
sed 's/butterfly/parrot/g' test > test
Mas então, quando estou fazendo um gato simples no meu arquivo de teste, o arquivo fica vazio. Por que?
Responder1
Você não pode ler e gravar em um arquivo ao mesmo tempo. Resumindo, sed está lendo seu arquivo 'test', mas você está gravando neste arquivo ao mesmo tempo, então o resultado é um arquivo vazio.
Experimente isto:
sed -i 's/butterfly/parrot/g' test
Com isso o arquivo será editado no local.