目前正在 shell 中做一个小实验。
我的命令如下:
echo 'This a cool butterfly' > test
sed 's/butterfly/parrot/g' test > test
但是当我在测试文件上做一个简单的猫时,该文件是空的。为什么?
答案1
您不能同时读取和写入文件。在简历中,sed 正在读取您的文件“test”,但您同时正在写入该文件,因此结果是一个空文件。
尝试这个:
sed -i 's/butterfly/parrot/g' test
这样,文件将被就地编辑。