免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4711 | 回复: 8

[文本处理] sed命令输出满足条件的指定行 [复制链接]

论坛徽章:
0
发表于 2015-12-18 11:29 |显示全部楼层
sed命令输出满足条件的行之后范围内容

例,存在以下文件内容:
# Added for OnlineWeb segment       
172.26.165.118        LPCNWESP001
172.26.165.119        LPCNWESP002
       
# Added for OnlineAP segment       
172.26.163.118        LPCNAPSP001
172.26.163.119        LPCNAPSP002
172.26.163.118        LPCNDBSP001
172.26.163.121        LPCNBABSP001
       
#Added for UnkanWEB segment       
172.26.181.237        LPCNWEMGP001
172.26.181.238        LPCNWEMGP002
       
# Added for UnkanAP segment       
172.26.182.240        LPCNAPMGP001
172.26.182.241        LPCNAPMGP002
172.26.182.245        LPCNDBMGP001
172.26.182.243        LPCNBAAMGP001
       
# Added for UnyoKanri segment       
172.26.140.43        VMPNHIMGP001
172.26.140.44        VMPNHIMGP002
172.26.140.201        VMPNHIMGP005
172.26.140.202        VMPNHIMGP006

要求按照不同业务段来输出IP HOSTNAME的内容
(如查询# Added for OnlineWeb segment的话       
   就显示
            172.26.165.118        LPCNWESP001
            172.26.165.119        LPCNWESP002


  查询# Added for UnyoKanri segment的话       
就显示
           172.26.140.43        VMPNHIMGP001
           172.26.140.44        VMPNHIMGP002
           172.26.140.201        VMPNHIMGP005
           172.26.140.202        VMPNHIMGP006

论坛徽章:
0
发表于 2015-12-18 11:50 |显示全部楼层
本帖最后由 jadonmust 于 2015-12-18 11:51 编辑

有人解答吗?

论坛徽章:
766
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
发表于 2015-12-18 11:51 |显示全部楼层
回复 1# jadonmust

  1. k="# Added for OnlineWeb segment";sed -n "/$k/,/^$/{//! p}" i
  2. 172.26.165.118        LPCNWESP001
  3. 172.26.165.119        LPCNWESP002
复制代码

论坛徽章:
0
发表于 2015-12-18 13:21 |显示全部楼层
回复 3# Herowinter


在机器运行了一下,把全部内容都输出了

   

论坛徽章:
766
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
发表于 2015-12-18 13:35 |显示全部楼层
回复 4# jadonmust

1楼的是你实际的文本吗? 操作系统 sed版本?

   

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2015-12-18 13:45 |显示全部楼层
  1. sed -n '/UnkanAP/{n;:a;n;/^ *$/b;p;ba}' file
  2. 172.26.182.241        LPCNAPMGP002
  3. 172.26.182.245        LPCNDBMGP001
  4. 172.26.182.243        LPCNBAAMGP001
复制代码

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
发表于 2015-12-18 14:06 |显示全部楼层
本帖最后由 chengchow 于 2015-12-18 14:07 编辑

grep -Piv "(\#|^\s*$)" file |  sort -k2n

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-12-24 06:20:00
发表于 2015-12-21 10:37 |显示全部楼层
awk -vRS="# Added for[^s]* segment" '$1&&RT ~ work{printf "%s" ,$0}' work=$work 123      work存的是你想匹配的内容

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-12-24 06:20:00
发表于 2015-12-21 10:38 |显示全部楼层
HOSTNAME 就是shell变量,在shell中把你想要获取的存在这个变量里面
sed -n "/# Added for $HOSTNAME segment/{x;:1;N;/[^ ]$/b1;p}" file
awk -vRS="# Added for[^s]* segment" '$1&&RT ~ HOSTNAME{printf "%s" ,$0}' HOSTNAME=$HOSTNAME file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP