正则中有特殊含义的符号,如:
\ $ * + ( )在正则匹配的时候,如果要去除其特殊含义,仅表示字面含义(字符串),就要在前面加转义符 \ 转义。写为 \\, \$, \*, \+, \(, \)。
如果sed加了-r选项以支持扩展的正则,则某些符号可以不转义。
这个还是要真正用了才能体会。学习Linux重在实践,谁用谁知道。
我也给个思路吧 —— 用sed根据地址范围截取文件内容,用Here documents方法添加新的多行内容,然后重组文件。具体步骤如下: 1)截取test.xml文件起始行到行,保存到tmp文件; 2)将要添加的内容根据变量值展开,附加写入tmp文件; 3)截取test.x.sed-e '/Alias \/admin/s/Alias/Alias \/admin"\/admin\/admin"/' ./test
其中test是所要 *** 作的文件
sed并不会对源文件进行修改,你需要将结果定向到一个结果文件,将结果保存起来
sed
-e '/Alias \/admin/s/Alias/Alias \/admin"\/admin\/admin"/' ./test >result
这样处理之后的结果就保存在result中了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)