我在脚本中使用sed进行替换操作,我希望替换后的文件可以覆盖原文件。通常情况下,我认为你应该使用以下方法:
% sed -i 's/cat/dog/' manipulate
sed: illegal option -- i
然而,正如您所见,我的sed命令并没有那个命令。
我尝试过这个:
% sed 's/cat/dog/' manipulate > manipulate
但是这样只会将 manipulate 变成一个空文件(有道理)。
这种方法可行:
% sed 's/cat/dog/' manipulate > tmp; mv tmp manipulate
我想知道是否有一种标准的方法将输出重定向到与输入相同的文件中。
sed 's/cat/dog/' manipulate > manipulate
会生成一个空文件? - Evgeny