免费注册 查看新帖 |

Chinaunix

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

[请教]Shell 输出特定的行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-14 11:45 |只看该作者 |倒序浏览
有一个较大的数据文件,200M左右,里面的部分格式如下:

.......
.......

aut-num:      AS24482
as-name:      SGGS-AS-AP
descr:        SG.GS
descr:        Global AS
country:      SG
import:       from AS9911 action pref=100; accept ANY AND NOT {0.0.0.0/0}
import:       from AS10075 action pref=100; accept ANY AND NOT {0.0.0.0/0}
export:       to AS9911 announce AS24482
export:       to AS10075 announce AS24482
admin-c:      HT207-AP
tech-c:       HT207-AP
mnt-by:       MAINT-SG-SGGS
changed:      hm-changed@apnic.net 20051107
changed:      hm-changed@apnic.net 20051116
source:       APNIC

domain:       128.144.202.in-addr.arpa
descr:        Reverse delegation for 202.144.128.0/24
country:      BT
admin-c:      JT106-AP
tech-c:       JT106-AP
zone-c:       JT106-AP
remarks:      reverse zone for BTTELECOM
nserver:      ns1.druknet.bt
nserver:      ns2.druknet.bt
mnt-by:       MAINT-BT-DRUKNET
changed:      hm-changed@apnic.net 20050216
source:       APNIC


domain:       129.144.202.in-addr.arpa
descr:        Reverse delegation for 202.144.129.0/24
country:      BT
admin-c:      JT106-AP
tech-c:       JT106-AP
zone-c:       JT106-AP
remarks:      reverse zone for BTTELECOM
nserver:      ns1.druknet.bt
nserver:      ns2.druknet.bt
mnt-by:       MAINT-BT-DRUKNET
changed:      hm-changed@apnic.net 20050216
source:       APNIC

.......
.......

里面的数据都是这样格式的行,每段数据以空行间隔,

请教大家,如何根据条件:MAINT-BT-DRUKNET,输出结果:202.144.128.0/24202.144.129.0/24 .....

[ 本帖最后由 jimson 于 2006-1-14 12:08 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-01-14 12:07 |只看该作者
原帖由 寂寞烈火 于 2006-1-14 11:54 发表

  1. cat file|grep -B8 MAINT|awk 'NR==1{print $NF}'
复制代码


烈火兄,我刚才可能表达的不清楚,你的代码实现不了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-01-14 12:34 |只看该作者
/home/lee#cat a|grep -B8 MAINT-BT-DRUKNET|grep ^descr|grep -o '[0-9.\/]\+'
202.144.128.0/24
202.144.129.0/24

论坛徽章:
0
4 [报告]
发表于 2006-01-14 13:31 |只看该作者
awk -F "[\n|"\ndescr:        Reverse delegation for"]"  'BEGIN{RS="\n\n"}$0~/ MAINT-BT-DRUKNET/{print $2}'

[ 本帖最后由 大蚂蚁 于 2006-1-14 14:22 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-01-14 14:07 |只看该作者
原帖由 大蚂蚁 于 2006-1-14 13:31 发表
awk -F "[\n|"\ndescr:        Reverse delegation for"]  'BEGIN{RS="\n\n"}$0~/ MAINT-BT-DRUKNET/{print $2}'

可以用awk指定RS,ORS,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP