免费注册 查看新帖 |

Chinaunix

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

如何用sed删除由空格组成的空行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-29 19:18 |只看该作者 |倒序浏览
我知道可以用 sed /^$/d 删除文件中的空行,但是不能删除由空格组成的空行,如果某一行上只有几个空格,前面的命令是不能匹配该行的。
记得原来看到过删除这种空行的sed命令,是匹配/^/和/$/之间没有字符的做法,可是试了一下没有成功,哪位知道的请赐教?

valentine
回复于:2002-07-27 19:59:27

sed /^[       ]*$/d tt
#the bracket contains a SPACE and a TAB

laoju
回复于:2002-07-28 11:01:46

sed /^[[]]*$/d

valentine
回复于:2002-07-28 11:31:15

[[]] 比 [[]]或[ \t] 处理的情况更多一些.不错.

laoxia
回复于:2002-11-26 07:14:03

高人指点啊,怎么跑不出来啊
$ more text
s_f
f_t
s_f
f_t
$ sed '/^[[]]*$/d' text
s_f
f_t
s_f
f_t

scode
回复于:2006-06-11 15:22:15

这样没问题,
sed '/^[  ]*$/d' tt

webyuhang
回复于:2006-07-07 14:11:27

[root@zlls function]# more space  
a          b          c
ab bc
abc
dd _bc
[root@zlls function]# sed /^[[]]*$/d space
a          b          c
ab bc
abc
dd _bc
请各位指点

woodie
回复于:2006-07-07 16:42:55

应该是:
sed /^[[:space:]]*$/d
老论坛的帖子,转换时难免会少点什么或多点什么。^_^

chongfenghao
回复于:2008-05-27 21:58:28

准确的说应该是:sed /^[[:space:]][[:space:]]*$/d,楼上的少一个[[:space:]]

r2r4
回复于:2008-05-27 22:27:17

用+替代*喽?

Minsic
回复于:2008-05-27 22:36:55

+属于扩展正则表达式的元字符,不是所有版本的sed都支持吧,[:space:]这样的写法很多版本也不支持的

[ 本帖最后由 Minsic 于 2008-5-27 22:45 编辑 ]

李某人
回复于:2008-06-14 14:55:09

试验了一下,下面两种方式都是对的:
sed '/^[ \t]*$/d'       (space + tab)
sed '/^[[:space:]]*$/d'
[ 本帖最后由 李某人 于 2008-6-14 15:01 编辑 ]


mystérieux
回复于:2008-07-13 22:34:45

还是我的方法最简单
sed '/^\s*$/d'

mystérieux
回复于:2008-07-13 23:45:16

引用:原帖由 灿烂小猪 于 2008-7-13 23:26 发表


LS的方法真简单,\s这个参数俺从来没用到过,请问在哪能查到?
谢谢哈

我在另一个贴里也提出过疑惑,似乎在我之前没有人这样用过,我觉得很怪,即使外国高手写的那个转得满世界全是的sed oneliner里也没有这样作,凡是匹配空格与tab不是[ \t] 就是[[:blank:]],我也猜想过,是不是sed新出的功能?我下载了sed源码,看了一下ChangeLog,本世纪没添什么新功能啊?不知道为什么这个用法没有写在sed有关的资料里,我并没有查sed比较齐全的资料,我猜想可能是没有,不然不会这么多人都不这样用,而宁可选择复杂的写法,我了解这个用法是因为perl中有,perl有关正则表达式的资料里都写得很明白,所以,在用sed的时候,就想,也许sed里会有相似的用法,试了一下确实有。

LS的方法真简单,\s这个参数俺从来没用到过,请问在哪能查到?
谢谢哈

\s就是[[:space:]]
这个是正则里面的。

[url=http://bbs.chinaunix.net/viewpro.php?uid=604603]edei2004

回复于:2008-07-14 11:00:17

sed '/^ *$/d' file


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12909/showart_2062741.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP