一文档中有字符‘或“,我现在想在'和”前面分别加上三个\,也就是变成\\\'或\\\"
我分别处理'或"时用命令
sed "s/[\']/\\\\\\\'/g"
sed 's/[\"]/\\\\\\\"/g'
是可以成功的
但是同时处理时就不OK了
比如sed {s/\([\'\"]\)/\\\\\\\1},得到的结果是错误的,请问应该怎么处理啊
请教各位个sed问题
-
- 帖子: 1
- 注册时间: 2011-11-29 17:23
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 请教各位个sed问题
好吧,我的shell还没到这个高度。。。
-
- 帖子: 306
- 注册时间: 2010-04-02 21:17
Re: 请教各位个sed问题
sed "s/[\'\"]/\\\\\\\\\\\\\0/g"
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 请教各位个sed问题
kose3@kose3-laptop:~$ echo ab\'ab\"ab|sed 's/[\x27\x22]/\\\\\\&/g'
ab\\\'ab\\\"ab
ab\\\'ab\\\"ab
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- josephyoung
- 帖子: 158
- 注册时间: 2011-11-05 18:53
- 来自: 南极圈
Re: 请教各位个sed问题
sed "s/[\'\"]/\\\\\\\\\\\\&/g"
中间要12个\来代表3个\,要数清楚哦
中间要12个\来代表3个\,要数清楚哦