我的 sed 命令发生了什么?

我的 sed 命令发生了什么?

目前正在 shell 中做一个小实验。

我的命令如下:

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

但是当我在测试文件上做一个简单的猫时,该文件是空的。为什么?

答案1

您不能同时读取和写入文件。在简历中,sed 正在读取您的文件“test”,但您同时正在写入该文件,因此结果是一个空文件。

尝试这个:

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

这样,文件将被就地编辑。

相关内容