使用sed删除空行

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


sed '/^$/d'

但我没有运气。


例如,我有以下几行:


xxxxxx



yyyyyy



zzzzzz

我希望它像:


xxxxxx

yyyyyy

zzzzzz

这应该是什么代码?


哔哔one
浏览 989回答 3
3回答

慕神8447489

您的“空”行中可能有空格或制表符。使用POSIX类与sed去除只含有空格的所有行:sed '/^[[:space:]]*$/d'使用ERE的较短版本,例如gnu sed:sed -r '/^\s*$/d'(请注意,sed的确实不支持PCRE)。

偶然的你

sed'/^[[:space:]]*$/d''/^\s*$/d''/^$/d'-n '/^\s*$/!p'grep.-v '^$'-v '^\s*$'-v '^[[:space:]]*$'awk/./'NF''length''/^[ \t]*$/ {next;} {print}''!/^[ \t]*$/'
打开App,查看更多内容
随时随地看视频慕课网APP