免费注册 查看新帖 |

Chinaunix

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

求 :文本行合并 [复制链接]

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
21 [报告]
发表于 2005-12-06 13:46 |只看该作者
原帖由 woodie 于 2005-12-6 11:58 发表
有意思的问题!试试这行sed:
  1. sed -ne '/###/{x;/./p;${g;p};b;};s/.*//;h'
复制代码

赞一个
还是woodie的思路,这个方案如何?
  1. sed -ne '/###/{x;//p;${g;p};b;};h'
复制代码

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
22 [报告]
发表于 2005-12-06 14:08 |只看该作者
woodie哥的方法在不以###行结尾时可能会漏打吧?${g;p}放外面?最多多打个空行

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
23 [报告]
发表于 2005-12-06 14:28 |只看该作者
不包含###的行就不输出,不会漏掉吧?

论坛徽章:
0
24 [报告]
发表于 2005-12-06 15:26 |只看该作者
sed 让我头疼

awk:
  1. awk -v k=1 'BEGIN{FS="\n";RS=" "}{while(k++<NF){if($k~/###/&&($(k+1)~/###/||k==NF-1))print $k}}' file
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
25 [报告]
发表于 2005-12-06 15:41 |只看该作者
原帖由 dbcat 于 2005-12-6 15:26 发表
sed 让我头疼

awk:
  1. awk -v k=1 'BEGIN{FS="\n";RS=" "}{while(k++<NF){if($k~/###/&&($(k+1)~/###/||k==NF-1))print $k}}' file
复制代码

学习!!!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
26 [报告]
发表于 2005-12-06 17:52 |只看该作者
原帖由 r2007 于 2005-12-6 13:46 发表

赞一个
还是woodie的思路,这个方案如何?
  1. sed -ne '/###/{x;//p;${g;p};b;};h'
复制代码

//p很好,简化不少。r2007的sed-----真棒!

[ 本帖最后由 woodie 于 2005-12-6 17:54 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP