免费注册 查看新帖 |

Chinaunix

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

请问一个sed的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-24 15:59 |只看该作者 |倒序浏览
将一个文本中的连续的多个空白行合并成一个空白行,应该用sed如何实现?
比如:file
1


2



3

输出:
1

2

3

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2011-02-24 16:14 |只看该作者
sed -rn '/^[ \t]*$/{p;ba;};p;d;:a;n;/^[ \t]*$/ba;p'

论坛徽章:
0
3 [报告]
发表于 2011-02-24 16:18 |只看该作者
  1. sed '/^$/d;G'  test.txt
复制代码
先删除所有空行,后添加一行

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2011-02-24 16:19 |只看该作者
sed '/^$/d;G' file

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2011-02-24 16:25 |只看该作者
  1. $ sed '/^$/d;G' file
复制代码
http://sed.sourceforge.net/sed1line_zh-CN.html

上面的很多例子很有用。

论坛徽章:
0
6 [报告]
发表于 2011-02-24 17:32 |只看该作者
回复 2# cjaizss


    很好,很强大
   需要好好理解一番

论坛徽章:
0
7 [报告]
发表于 2011-02-24 17:33 |只看该作者
回复 5# L_kernel


这些例子正在看,好多都看不明白,呵呵,慢慢看

不过就这道题,你的方法会把原来没有空行的两行之间也插入一个空行

论坛徽章:
0
8 [报告]
发表于 2011-02-24 21:29 |只看该作者
用多行模式空间 处理

论坛徽章:
0
9 [报告]
发表于 2011-02-24 22:35 |只看该作者

论坛徽章:
0
10 [报告]
发表于 2011-02-25 01:38 |只看该作者
sed  '/^$/d'
sed 's/$/\n/g'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP