如何用awk删除文本文件中行之间的空格?

时间:2012-06-23 04:55:07

标签: awk

我想使用awk删除文本文件中行之间的空格。我怎么能用awk做到这一点?

abcd

abcd

abcd

所需的输出是

abcd
abcd
abcd

4 个答案:

答案 0 :(得分:2)

awk 'NF' data.txt

将仅打印文件data.txt中的非空行。它仅通过打印具有非零(即大于零)的字段数(NF)的行来工作

可替换地,

awk 'length' data.txt

仅通过打印长度非零(即大于0)的行来工作。

还有其他工具,例如sedgrep,也可以执行此操作,但因为您特别要求awk解决方案。

答案 1 :(得分:1)

这将仅输出非空行

awk '/./' test.txt

这是一个替代的unsing grep(匹配空行,然后用-v反转结果):

grep -v ^$ test.txt

答案 2 :(得分:1)

要覆盖输入文件,您可以使用spongeIs there a way to modify a file in-place

awk '/./ {print}' file | sponge file

答案 3 :(得分:0)

也许这些行只有空格(仅)(或不):

awk '!/^[[:blank:]]*$/' inputfile

sed相同:

sed '/^[[:blank:]]*$/d' inputfile