我正在编写一个shell脚本来创建一些配置文件.我必须替换文件中的一些模式,并且应该用路径替换一个模式.
所以我的问题是:有没有办法用路径替换我的占位符webpath而不在斜杠前面设置反斜杠?
也许有另一种工具可以做到这一点?
gee*_*aur 55
您可以通过反斜杠将替代正则表达式分隔符用作搜索模式:
sed '\,some/path,d'
Run Code Online (Sandbox Code Playgroud)
并按原样使用它s
:
sed 's,some/path,other/path,'
Run Code Online (Sandbox Code Playgroud)
但是,您可能希望保护其他元字符; 这是使用Perl和quotemeta
其他脚本语言中的等价物的好地方.
来自man sed
:
/regexp/
匹配与正则表达式匹配的行regexp
.
\cregexpc
匹配与正则表达式匹配的行regexp
.所述c
可大于或反斜杠换行符其他任何字符.
s/regular expression/replacement/flags
将替换字符串替换为模式空间中正则表达式的第一个实例.可以使用除反斜杠或换行符之外的任何字符而不是斜杠来分隔RE和替换.在RE和替换中,如果前面有反斜杠,则RE分隔符本身可以用作文字字符.