免费注册 查看新帖 |

Chinaunix

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

sed语句分析,请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-09 11:01 |只看该作者 |倒序浏览
原帖由 "代码" 发表:
三.字串翻转

代码:
sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'

举例
代码:
echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
0987654321
中的/\n/!G是加入一个回车符,若单独使用则出现
原帖由 "" 发表:

1234567890
接着的s/\(.\)\(.*\n\)/&\2\1/;但是我不明白&匹配了正则表达式里的东西   但是前面两个括号里面的字符都被\2\1指代了,&是否失去了意义,当执行echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/'
显示如下
原帖由 "" 发表:

[gag@genomic-server gag]$ echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/'
1234567890
234567890
1
至于后面的//D;就更无从下手了   //D   删除什么
s/.//是替换掉,这个可以理解

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
2 [报告]
发表于 2004-01-09 12:22 |只看该作者

sed语句分析,请教

//D
// 使用上一次s///命令中的匹配表达式进行匹配
D 移去模式空间的顶端一行,如果模式空间不空,则开始下一次循环
理解了这一句,就明白为什么需要&的意义了。

论坛徽章:
0
3 [报告]
发表于 2004-01-09 13:21 |只看该作者

sed语句分析,请教

原帖由 ""][gag@genomic-server gag 发表:
$ echo 1234567890|sed '/\n/!G;'
1234567890

[gag@genomic-server gag]$ echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/'
1234567890
234567890
1
sed '/\n/!G是加一空行,s/\(.\)\(.*\n\)/&\2\1/'指定1和234567890及一个空行为2 交换1 2 的位置  偶觉得该是
原帖由 "" 发表:

[gag@genomic-server gag]$ echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/\2\1/'
234567890
1

这样   就是有了一个&   
原帖由 "" 发表:

[gag@genomic-server gag]$ echo 1234567890|sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/'
1234567890
234567890
1
但是为什么执行起来会是这样  能解释解释么

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
4 [报告]
发表于 2004-01-09 13:31 |只看该作者

sed语句分析,请教

偶?我的上一贴,你理解了吗?为什么要用&的答案就在那儿^_^

论坛徽章:
0
5 [报告]
发表于 2004-01-09 14:00 |只看该作者

sed语句分析,请教

[quote]原帖由 "r2007"]偶?我的上一贴,你理解了吗?为什么要用&的答案就在那儿^_^[/quote 发表:
呵呵 没有理解   不好意思的说   
您似乎再说整体上看     我是将它们拆开一个个测试  一个个看的   
//D说的将前面的s替换所匹配的第一个回车前面的内容删除   
可是我看到1234567890已被(.)(.*\n)瓜分的一干二净 哪里还有&指代的内容呢

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
6 [报告]
发表于 2004-01-09 14:16 |只看该作者

sed语句分析,请教

原帖由 "gunguymadman007" 发表:
  
可是我看到1234567890已被(.)(.*\n)瓜分的一干二净 哪里还有&指代的内容呢

请问哪个资料说&会被瓜分,甚至分的一干二净?
难道是 gunguymadman007版的sed?
just a joke ^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP