免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: waily
打印 上一主题 下一主题

求个sed [复制链接]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
31 [报告]
发表于 2012-03-27 23:42 |只看该作者
回复 26# yuhuohu


    sed -rn '
/subnet 10.10.10.10/         #匹配10.10.10.10
{
  :a;                                 #创建标签a
  /\{/{                              #匹配符号'{'
         x;                           #交换暂存缓冲区和模式空间的内容
         s/^/#/;                   #在行首加入#符号(不太明白为什么要加#) --- '#' 可以换成其它字符,这里只是作为一个标记而已。
          x;                           #交换暂存缓冲区和模式空间的内容,缓冲区变成内容变成"#subnet 10.10.10.10 ....",模式空间内容恢复原样
        };                            #
  /#/{                              #匹配符号#
         n                           #读入下一行
       };                            #
  /\}/{                             #匹配符号}
         x;                          #交换暂存缓冲区和模式空间的内容,缓冲区变成subnet...的下一行,模式空间"#subnet 10.10.10.10 ...."
         /^#{1}$/{             #匹配一整行以#符号开始且只有一个#符号的行
                         b           #跳转到标签???--- b分支后面有label则强制返回label除,如果没有,跳过后面所有的命令,(if label is omitted, branch to end of script.

                        };           #
         s/#//;                    #把第一个#符号删除
         x;                         #交换暂存缓冲区和模式空间的内容,模式空间内容恢复原样,缓冲区的内容?? --- 这里是将'#'标记交换到hold space,便于下一次提取。
       };                           #
  n;                                #读入下一行
  ba                               #跳转到标签a处
};                                 #
p'                                 #输出


PS. 请参考http://bbs.chinaunix.net/thread-3613371-1-1.html
http://bbs.chinaunix.net/thread-1762006-1-1.html

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
32 [报告]
发表于 2012-03-28 08:42 |只看该作者
思路就是一直清{}
清到空为止
如果格式混乱些的话,比如可能几个并在一起写,编程的时候就麻烦一点

论坛徽章:
0
33 [报告]
发表于 2012-03-28 09:51 |只看该作者
回复 31# yinyuemi


    谢!仔细的分析一个实例比看10页理论还深刻
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP