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

sed '/^$/d'

但我运气不佳。

例如,我有这样几行:

xxxxxx


yyyyyy


zzzzzz

我希望它是这样的:

xxxxxx
yyyyyy
zzzzzz

这个的代码应该是什么?


当前回答

对我来说,使用FreeBSD 10.1和sed只工作了这个解决方案:

sed -e '/^[     ]*$/d' "testfile"

[]里面有空格和制表符。

测试文件包含:

fffffff next 1 tabline ffffffffffff

ffffffff next 1 Space line ffffffffffff

ffffffff empty 1 lines ffffffffffff

============ EOF =============

其他回答

另一个没有sed, awk, perl等的选项

strings $file > $output

字符串-打印文件中可打印字符的字符串。

你也可以使用"grep"来做类似的事情:

egrep -v "^$" file.txt

NF是awk的命令,可用于删除文件中的空行 awk NF文件名 通过使用sed Sed -r "/^\r?美元/ d”

使用vim编辑器删除空行

美元:% s / ^ \ n / / g

这也适用于awk。

awk '!/^$/' file
xxxxxx
yyyyyy
zzzzzz