linux - 使用 sed 删除空行

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

sed '/^$/d'

但我没有运气。

例如,我有以下几行:

xxxxxx


yyyyyy


zzzzzz

我希望它是这样的:

xxxxxx
yyyyyy
zzzzzz

这应该是什么代码?

最佳答案

您的“空”行中可能有空格或制表符。使用POSIX classes使用 sed 删除所有仅包含空格的行:

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

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

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

(请注意,sed 支持 PCRE。)

https://stackoverflow.com/questions/16414410/

相关文章:

linux - 不会分配伪终端,因为 stdin 不是终端

list - 连接两个列表 - '+=' 和 extend() 之间的区别

python - 如何使用 matplotlib 在 while 循环中实时绘图?

linux - "#!/usr/bin/env bash"和 "#!/usr/bin/bash"有什

linux - 如何从 iptables 中删除特定规则?

python - 在 Python 中的同一行上打印多个

linux - 使用 openssl 从服务器获取证书

python - Flask 可以有可选的 URL 参数吗?

python - Python中的抽象方法

python - 在多个模块中使用日志记录