Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1066754
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: 系统运维

2014-05-27 08:01:45

问题来自 ,被问了N次。

大概就是

{
    a
    b
    c
}
{
    m
    n
    d
}
{
    xxxx
    yyyy
}
文件类似{}有规律的出现,现在要替换或者删掉其中某个段落。

删除的话, sed '/{/{:a;N;/}/!ba;/n/d}'  #删除n所在的{}
awk -vRS='lease [0-9]+.[0-9]+.[0-9]+.[0-9]+ {[^}]+}' 'RT!~/20:dc:e6:3c:7f:4b/{print RT}'  #来自原帖的数据,让RT匹配整个{}。

以上都是GNU的awk/sed,非GNU的替换直接设RS为}就好了。

那么替换呢,里面的链接有回复和解释,不多说了。

sed '/{/{:a;N;/}/!ba;/check_db_project/s/^\|\n/&#/g}' 

或者

awk -vRS='define service{[^}]+}' '{print RT~/check_db_projection/?"#"gensub(/\n/,"&#","g",RT):RT}'



阅读(4590) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~