如果我将输出发送到stdout
,我有一个sed命令可以正常工作sed s/defaultFedoraColor/grey/ stuff.js
但是,如果我尝试通过添加-i标志
来更改文件sed -i s/defaultFedoraColor/grey/ stuff.js
我收到
的错误消息sed: 1: "stuff.js": unterminated substitute pattern
为什么国旗会改变我的替代模式的合法性?
答案 0 :(得分:2)
-i
标志带参数!此参数是用于正在操作的文件的备份后缀。 (据推测,原始文件的备份是使用给定的后缀进行的。)因此,您的模式已成为-i的参数,而sed尝试将“stuff.js”解释为模式。
编辑:但我根本没有遇到过这种错误的行为,但这就是对该联机帮助页的阅读所暗示的问题。
另一个编辑:也许您只想按照建议在模式周围添加引号