免费注册 查看新帖 |

Chinaunix

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

高手看一下这个sed循环,不知什么地方我理解错了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-20 09:58 |只看该作者 |倒序浏览
sed  -n -e 'N;N' -e ':a ; 1,3!{P;N;D}; ba;' file1

这句话应该是 个死循环嘛, 为什么不是死循环呢,请高手明示一下。


N;N之后 就是3行了。  1,3!{P;N;D};  没执行。
  
ba跳回来的时候 1,3!{P;N;D};   里的命令就被执行了。。

为什么调回来的时候 就可以执行了。?

论坛徽章:
0
2 [报告]
发表于 2011-10-20 10:40 |只看该作者
D完了以后直接进回到脚本开始的地方,后面的脚本统统无视

论坛徽章:
0
3 [报告]
发表于 2011-10-20 11:02 |只看该作者
1,3!{P;N;D};  D在1,3 里边,不应该被执行嘛。

论坛徽章:
0
4 [报告]
发表于 2011-10-20 11:07 |只看该作者
回复 3# _man_mk_


    那是第一行到第三行不做P,D.后面的行都做

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2011-10-20 11:29 |只看该作者
如果你用的sed版本不是老掉牙的话
sed ':a;N;ba' urfile都不会死循环,N到$就结束了

论坛徽章:
0
6 [报告]
发表于 2011-10-20 11:44 |只看该作者
1,3!{P;N;D};  1到3行才执行{}里边的命令。  永远都不满足嘛。


1,4!{P;N;D}; 就是一个死循环。!但 1,3不是。 为什么。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2011-10-20 11:53 |只看该作者
1,3!的意思是除了1-3行

论坛徽章:
0
8 [报告]
发表于 2011-10-20 12:01 |只看该作者
sed  -n -e 'N;N' -e ':a ; 1,3!{P;N;D}; ba;' file1

这个循环一直都是 1到3行嘛。到不了4.

两个N之后 到3 ,接着1,3!{}里边执行不到。ba 跳到a, 然后1,3!{} 。 这个时候还是3嘛,没读入新行。
1,3!{}  这个也执行不到嘛, 然后又到ba; 然后又是1,3!{}

但是 实际情况第二次ba跳到 1,3!{},这个时候{}就被执行了,什么原因?

论坛徽章:
0
9 [报告]
发表于 2011-10-20 12:29 |只看该作者
sed  -n -e 'N;N' -e ':a ; 1,3!{P;N;D}; ba;' file1

这个循环一直都是 1到3行嘛。到不了4.

两个N之后 ...
_man_mk_ 发表于 2011-10-20 12:01


  1. [iscs@linux-sp1]:~>$ seq 10|sed -n 'N;N;1,3!{=;q;}'
  2. 6
  3. [iscs@linux-sp1]:~>$ seq 10|sed -n 'N;N;:a;1,3!{=;q;};ba'
  4. 3
复制代码
确实很疑惑啊

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
10 [报告]
发表于 2011-10-20 13:24 |只看该作者
http://bbs.chinaunix.net/viewthr ... p;extra=&page=1

没仔细看,是讨论的这个问题么? 各版本表现不一至?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP