linux中sed命令替换包含引号、斜杠等特殊字符的的使用

来源:互联网 发布:sql server2000 sp3 编辑:程序博客网 时间:2024/05/29 15:55

在字符替换中,可能会遇见引号,“/”等的替换,这时应该注意,sed的命令原型是:

sed -i  "s/oldstring/goalstring/g" file

如果一个路径是data/path/abc,现在要将此路径换成一个字符串cde

但是这时跟在s后边的其实是分隔符,用以将oldstring替换成cde;他可以使用任意字符,这时如果字符串中有“/”,就会发生混乱,在这个时候可以用#当做分隔符,就变成

sed -i "s#abc#cde#g" file

这时如果abc中包含“/”就可以随便替换了;

引号的替换:

需要将引号转义,使用反斜杠“\”,比如替换" ' 'div' ' ",如果需要将它替换成‘div' ;可以使用sed -i s#\"\'\'#\'#g就能替换了。

详细的sed使用方法参考:http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html

0 0