我想使用 awk 删除文本文件中的行之间的空格。我怎样才能用 awk 做到这一点?
abcd
abcd
abcd
所需的输出将是
abcd
abcd
abcd
awk 'NF' data.txt
将仅打印出 file 中的非空行data.txt
。它仅通过打印字段数 ( NF
) 非零(即大于零)的行来工作
或者,
awk 'length' data.txt
通过仅打印长度为非零(即大于 0)的行来工作。
还有其他工具,例如sed
or grep
,也可以做到这一点,但是因为您特别要求awk
解决方案。
这将只输出非空行
awk '/./' test.txt
这是另一种 unsing grep(匹配空行,然后使用 -v 反转结果):
grep -v ^$ test.txt
要覆盖输入文件,您可以使用sponge
:Is there a way to modify a file in-place
awk '/./ {print}' file | sponge file
也许这些行有空格(只有)(或没有):
awk '!/^[[:blank:]]*$/' inputfile
同样的事情sed
:
sed '/^[[:blank:]]*$/d' inputfile