【发布时间】:2011-02-04 20:09:02
【问题描述】:
我在脚本中使用 sed 进行替换,我想让替换的文件覆盖文件。通常我认为你会使用这个:
% sed -i 's/cat/dog/' manipulate
sed: illegal option -- i
但是,正如您所见,我的 sed 没有该命令。
我试过了:
% sed 's/cat/dog/' manipulate > manipulate
但这只是将操作变成一个空文件(有道理)。
这行得通:
% sed 's/cat/dog/' manipulate > tmp; mv tmp manipulate
但我想知道是否有一种标准方法可以将输出重定向到与输入相同的文件中。
【问题讨论】:
-
怎么没人提到
sponge? -
我猜问题不是sponge-worthy。
-
2020 年的电话:为什么
sed 's/cat/dog/' manipulate > manipulate会创建一个空文件?