免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 8915 | 回复: 28

请教,如何取得某关键字后特定行的行号?[已解决]谢谢大家!! [复制链接]

论坛徽章:
0
发表于 2009-01-15 04:16 |显示全部楼层
例如

# cat test                                                                     
ded
aaaaa
sssss
111
dedwef
dwefref
aaaaa
ddddd
我想获取关键字“111”后出现的第一个aaaaa所处行的行号。
怎样才能实现呢?

环境为sh或csh

[ 本帖最后由 韧体 于 2009-1-15 10:03 编辑 ]

论坛徽章:
0
发表于 2009-01-15 07:24 |显示全部楼层
  1. sed -n -e '/111/,/aaaa/{=;}' ufile |tail  -1
复制代码

论坛徽章:
0
发表于 2009-01-15 07:51 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2009-01-15 08:08 |显示全部楼层
awk '$0~/111/{while(1){ getline b ; if(b~/aaaaa/){print NR;exit}}}' data

论坛徽章:
0
发表于 2009-01-15 08:12 |显示全部楼层
sed -n '/111/{:a;n;/aaaaa/{=;q};ba;}' test

论坛徽章:
0
发表于 2009-01-15 08:46 |显示全部楼层

回复 #3 lovegqin 的帖子

这个看不懂,哪位高人指点一下?

论坛徽章:
0
发表于 2009-01-15 08:49 |显示全部楼层

回复 #5 sunbw001 的帖子

这个我喜欢,一开始我也是这样想的,没写出来。。。
sed -n '/111/{n;/aaaaa/{=;}}' ufile

论坛徽章:
0
发表于 2009-01-15 08:53 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2009-01-15 08:59 |显示全部楼层

回复 #8 lovegqin 的帖子

但是楼主不是要keyword的行号啊。

论坛徽章:
0
发表于 2009-01-15 09:16 |显示全部楼层
其实楼主给的数据与自己的描述不符
标题:请教,如何取得某关键字后特定行的行号?
内容:我想获取关键字“111”后出现的第一个aaaaa所处行的行号。

其实是应该想这样的数据: 111后面不一定是马上接着aaaaa的
  1. ded
  2. aaaaa
  3. sssss
  4. 111
  5. ......  (这里的行不会有aaaaa)
  6. aaaaa
  7. ddddd
复制代码

[ 本帖最后由 ywlscpl 于 2009-1-15 09:18 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP