Что происходит с моей командой sed?

Что происходит с моей командой sed?

В настоящее время провожу небольшой эксперимент в оболочке.

Мои команды следующие:

echo 'This a cool butterfly' > test
sed 's/butterfly/parrot/g' test > test

Но когда я делаю простую кошку в своем тестовом файле, файл оказывается пустым. Почему?

решение1

Вы не можете читать и писать в файл одновременно. В резюме sed читает ваш файл 'test', но вы пишете в этот файл в то же время, поэтому результатом является пустой файл.

Попробуй это:

sed -i 's/butterfly/parrot/g' test 

При этом файл будет отредактирован на месте.

Связанный контент