一尘不染

使用sed删除空行

linux

我正在尝试使用sed删除空行:

sed '/^$/d'

但我没有运气。

例如,我有以下几行:

xxxxxx


yyyyyy


zzzzzz

我希望它像:

xxxxxx
yyyyyy
zzzzzz

这应该是什么代码?


阅读 338

收藏
2020-06-02

共1个答案

一尘不染

您的“空”行中可能有空格或制表符。使用POSIX类sed去除只含有空格的所有行:

sed '/^[[:space:]]*$/d'

使用ERE的较短版本,例如gnu sed:

sed -r '/^\s*$/d'

(请注意,sed的确实 支持PCRE)。

2020-06-02