免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1703 | 回复: 1
打印 上一主题 下一主题

新手请教:sed里一处正则中出现的问题。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-03 17:00 |只看该作者 |倒序浏览
这个是文本例子:
  1. .XX "asterisk (*) metacharacter"
复制代码

下面是处理以后的样子:

  1. /^\.XX /s/asterisk (*) metacharacter/asterisk (*) metacharacter/
复制代码



这个是正常的过程:


[root@localhost ch06]# cat index
.XX "asterisk (*) metacharacter"
[root@localhost ch06]# cat index.edit2
#!/bin/bash
#index.edit--compile index of the project's list
#for editing easier to pattern the charactor.
grep "^\.XX" $* | sort -u |
sed '
h
s/[][\\*.]/\\&/g
x
s/[\\&]/\\&/g
s/^\.XX//
s/$/\//
x
s/^\\\.XX \(.*\)$/\/^\\.XX \/s\/\1\//
G
s/\n//'
[root@localhost ch06]# ./index.edit2 index
/^\.XX /s/"asterisk (\*) metacharacter"/ "asterisk (*) metacharacter"/


下面是我自己修改了一处正则:
[root@localhost ch06]# cat index
.XX "asterisk (*) metacharacter"
[root@localhost ch06]# cat index.edit2
#!/bin/bash
#index.edit
grep "^\.XX" $* | sort -u |
sed '
h
s/[][\\*.]/\\&/g
x
s/[\\&]/\\&/g
s/^\.XX//
s/$/\//
x
s/^\.XX \(.*\)$/\/^\\.XX \/s\/\1\//
G
s/\n//'
[root@localhost ch06]# ./index.edit2 index
\.XX "asterisk (\*) metacharacter" "asterisk (*) metacharacter"/
正确的应该是这样的:

  1. [root@localhost ch06]# ./index.edit2 index
  2. /^\.XX /s/"asterisk (\*) metacharacter"/ "asterisk (*) metacharacter"/
复制代码


希望高手帮忙,
  1. s/^[color=#FF0000]\\\[/color].XX \(.*\)$/
复制代码


  1. s/^[color=#FF0000]\[/color].XX \(.*\)$/
复制代码

为什么会有不一样的结果呢?

谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-04-03 17:15 |只看该作者
靠,晕死,发出来了,才明白了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP