linux - 使用 sed 删除空行

标签 linux unix 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。)

关于linux - 使用 sed 删除空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16414410/

相关文章:

linux - 如果中途中断,ssh 会挂起

c - 线程同时运行

regex - git 的 awk 字符串

python - 在并行 linux 中运行一个进程

python - Raspberry Pi - 访问 0x40 : Check your I2C address 时出错

background - 将 xargs 生成的命令发送到后台

command-line - 使用 sed (或其他命令行)将一组字符替换为不同的字符集

sed - 在模式之间每四行添加两行 - SED

python - Openshift [Errno 13] 权限被拒绝

macos - 终端命令 : ls -l show? 是什么意思