1
gangkui2008 OP >echo []. | sed 's#\[\|\]\|\.#zzz#g'
[]. [root@bruce3]/wideopen/stone >echo []. | sed 's#[\[\]\.]#zzz#g' []. |
2
gastlygem 2011-12-21 11:37:04 +08:00
是这个意思吗?俺是cygwin下的ksh加上gnu sed,没你的环境,不知道灵不灵:
>echo []. | sed -r 's!(\[|\]|\.)!\\\1!g' \[\]\. |
3
gangkui2008 OP @gastlygem 还是不行,
>echo []. | sed -r 's!(\[|\]|\.)!\\\1!g' sed: Not a recognized flag: r Usage: sed [-n] Script [File ...] sed [-n] [-e Script] ... [-f Script_file] ... [File ...] [root@bruce3]/wideopen/stone >echo []. | sed 's!(\[|\]|\.)!\\\1!g' sed: 0602-404 Function s!(\[|\]|\.)!\\\1!g cannot be parsed. [root@bruce3]/wideopen/stone >echo []. | sed 's/(\[|\]|\.)/\\&/g' []. [root@bruce3]/wideopen/stone >echo []. | sed 's/(\[|\]|\.)/zzz/g' []. |
4
ratazzi 2011-12-21 12:30:42 +08:00
@gangkui2008
echo []. | sed 's!\(\[\|\]\|\.\)!\\\1!g' | 也需要转义 @gastlygem AIX 应该是类似 BSD 的 sed 没有 GNU sed -r 的扩展正则 |
5
gastlygem 2011-12-21 12:32:07 +08:00
果然 AIX 带的不是 gnu sed,不支持 -r。你还是使用多个管道符吧,又好读又好看 :D
|
6
gangkui2008 OP |
7
ratazzi 2011-12-21 12:56:44 +08:00
@gangkui2008
抱歉手里没有环境,也没办法了 |
8
gangkui2008 OP @ratazzi
thx all the same |
9
ratazzi 2011-12-21 13:10:56 +08:00
|
10
gangkui2008 OP @ratazzi
good, thx |
11
dreamersdw 2011-12-21 14:28:50 +08:00
使用 fgrep (或者 grep -F)搜索时,不会转义 pattern 中的字符。
|
12
gangkui2008 OP @dreamersdw
cool! 万分感谢 |