2

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

abcd

abcd

abcd

所需的输出将是

abcd
abcd
abcd
4

4 回答 4

3
awk 'NF' data.txt

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

或者,

awk 'length' data.txt

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

还有其他工具,例如sedor grep,也可以做到这一点,但是因为您特别要求awk解决方案。

于 2012-06-23T04:58:29.953 回答
2

这将只输出非空行

awk '/./' test.txt

这是另一种 unsing grep(匹配空行,然后使用 -v 反转结果):

grep -v ^$ test.txt
于 2012-06-23T04:57:23.787 回答
1

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

awk '/./ {print}' file | sponge file
于 2012-06-23T04:59:39.013 回答
0

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

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

同样的事情sed

sed '/^[[:blank:]]*$/d' inputfile
于 2012-06-23T05:11:26.960 回答