添加-i标志会导致sed抛出错误

时间:2013-03-22 17:12:21

标签: sed

如果我将输出发送到stdout

,我有一个sed命令可以正常工作
sed  s/defaultFedoraColor/grey/ stuff.js 

但是,如果我尝试通过添加-i标志

来更改文件
sed  -i s/defaultFedoraColor/grey/ stuff.js 

我收到

的错误消息
sed: 1: "stuff.js": unterminated substitute pattern

为什么国旗会改变我的替代模式的合法性?

1 个答案:

答案 0 :(得分:2)

-i标志带参数!此参数是用于正在操作的文件的备份后缀。 (据推测,原始文件的备份是使用给定的后缀进行的。)因此,您的模式已成为-i的参数,而sed尝试将“stuff.js”解释为模式。

编辑:但我根本没有遇到过这种错误的行为,但这就是对该联机帮助页的阅读所暗示的问题。

另一个编辑:也许您只想按照建议在模式周围添加引号