我正在尝试使用sed删除空行:sed '/^$/d'但我没有运气。例如,我有以下几行:xxxxxxyyyyyyzzzzzz我希望它像:xxxxxxyyyyyyzzzzzz这应该是什么代码?
3 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
您的“空”行中可能有空格或制表符。使用POSIX类与sed去除只含有空格的所有行:
sed '/^[[:space:]]*$/d'
使用ERE的较短版本,例如gnu sed:
sed -r '/^\s*$/d'
(请注意,sed的确实不支持PCRE)。
偶然的你
TA贡献1841条经验 获得超3个赞
sed
'/^[[:space:]]*$/d'
'/^\s*$/d'
'/^$/d'
-n '/^\s*$/!p'
grep
.
-v '^$'
-v '^\s*$'
-v '^[[:space:]]*$'
awk
/./
'NF'
'length'
'/^[ \t]*$/ {next;} {print}'
'!/^[ \t]*$/'
- 3 回答
- 0 关注
- 978 浏览
添加回答
举报
0/150
提交
取消