免费注册 查看新帖 |

Chinaunix

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

按段落行数添加空行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-28 16:25 |只看该作者 |倒序浏览
一个文件中每个段落以WHBSC开头,段落间以空行间隔,每个段落的行数不定
问题:将每个段落的行数均改为8,即统计每个段落的行数,如果段落的行数小于8则以空行补足至8行,原始文件见下,请各位大佬帮忙
WHBSC21;2011-2 -26 04:00:00;2011-2 -26 04:08:00;*** ALARM 408 A2/APZ "WHBSC21R1207B/C"U 110226 0400
AP SYSTEM ANALYSIS
AP    APNAME         NODE      NODENAME
1    BSC21AP1C      B         BSC21AP1B
OBJECT       COUNTER              INSTANCE        LIMIT        VALUE
Memory       Available Bytes   

WHBSC21;2011-2 -26 20:47:00;2011-2 -26 20:51:00;*** ALARM 186 A2/APZ "WHBSC21R1207B/C"U 110226 2047
AP SYSTEM ANALYSIS
AP    APNAME         NODE      NODENAME
1    BSC21AP1C      B         BSC21AP1B
OBJECT       COUNTER              INSTANCE        LIMIT        VALUE
Memory       Available Bytes   

WHBSC21;2011-2 -27 01:53:00;2011-2 -27 01:57:00;*** ALARM 800 A2/APZ "WHBSC21R1207B/C"U 110227 0153
AP SYSTEM ANALYSIS
AP    APNAME         NODE      NODENAME
1    BSC21AP1C      B         BSC21AP1B
OBJECT       COUNTER              INSTANCE        LIMIT        VALUE
Memory       Available Bytes   

WHBSC21;2011-2 -27 04:03:00;2011-2 -27 04:17:00;*** ALARM 810 A2/APZ "WHBSC21R1207B/C"U 110227 0403
AP SYSTEM ANALYSIS
AP    APNAME         NODE      NODENAME
1    BSC21AP1C      B         BSC21AP1B
OBJECT       COUNTER              INSTANCE        LIMIT        VALUE
Memory       Available Bytes   

WHBSC21;2011-2 -27 09:07:00;2011-2 -27 09:07:00;*** ALARM 835 A2/APT "WHBSC21R1207B/C"U 110227 0907
SWITCHING NETWORK TERMINAL FAULT
SNT                TCASE  STATE    FCODE SUBSNT  INFO        FCINFO
ETM2-5
*** TIMEOUT, NO REPLY FROM SNTMC

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
2 [报告]
发表于 2011-02-28 16:35 |只看该作者
awk 'BEGIN{a=8}/^WHBSC/{for(i=0;i<8-a;i++){printf "\n"}a=0}{a++;print $0}' file

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


    awk 'NF==0&&NR%8{print ""}1' file

论坛徽章:
0
4 [报告]
发表于 2011-02-28 16:44 |只看该作者
太棒了,这么快就有人回帖了。真的很感谢!再问:1、能解释一下吗? 2、处理之后,我想8行合一行,且每行之间以分号分隔。awk '{if (NR%8==0){print $0} else {printf"%s ",$0}}' filename 这可以合并,但是不能以分号合并——惭愧,我遇到问题都是baidu,然后以葫芦画瓢。

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
5 [报告]
发表于 2011-02-28 16:47 |只看该作者
太棒了,这么快就有人回帖了。真的很感谢!再问:1、能解释一下吗? 2、处理之后,我想8行合一行,且每行之 ...
camelly 发表于 2011-02-28 16:44




    awk 'NR%8?ORS="; ":ORS=RS' file

论坛徽章:
0
6 [报告]
发表于 2011-02-28 16:53 |只看该作者
看来要加强学习了,很感谢这个论坛——书到用时方想到论坛,惭愧!谢谢各位了

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
7 [报告]
发表于 2011-02-28 17:03 |只看该作者
05年注册的现在才发处女贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP