O que está acontecendo com meu comando sed?

O que está acontecendo com meu comando sed?

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.

informação relacionada