我对 Sed 做错了什么

我对 Sed 做错了什么

我的意见:

sed -i 's/if ($.browser.msie)/if ($.browser={ msie: ( navigator.appName == 'Microsoft Internet Explorer') ? true : false })/g' file.js

我尝试将搜索和替换文本放在单引号和双引号中,但出现错误:

sed: -e expression #1, char 79: unterminated `s' command

答案1

将周围的单引号替换Microsoft Internet Explorer为双引号,并在前面插入一个空格字符,file.js正如您在评论中提到的那样。还可以使用反斜杠字符来转义$.字符,方法是在正则表达式中出现和字符的位置前面放置一个反斜杠。

sed -i 's/if (\$\.browser\.msie)/if (\$\.browser={ msie: ( navigator\.appName == "Microsoft Internet Explorer") ? true : false })/g' file.js

相关内容