如何使用awk删除文本文件中的行间距?
我想使用awk删除文本文件中的行间距。我怎样才能用awk做到这一点如何使用awk删除文本文件中的行间距?,awk,Awk,我想使用awk删除文本文件中的行间距。我怎样才能用awk做到这一点 abcd abcd abcd 期望的输出是 abcd abcd abcd 这将只输出非空行 awk '/./' test.txt 这是另一种不使用grep的方法(匹配空行,然后使用-v反转结果): 将仅打印文件data.txt中的非空行。它的工作原理是只打印非零(即大于零)字段数(NF)的行 或者 awk 'length' data.txt 只打印长度不为零(即大于0)的行 还有其他工具,如sed或grep,也可以这
abcd
abcd
abcd
期望的输出是
abcd
abcd
abcd
这将只输出非空行
awk '/./' test.txt
这是另一种不使用grep的方法(匹配空行,然后使用-v反转结果):
将仅打印文件data.txt
中的非空行。它的工作原理是只打印非零(即大于零)字段数(NF
)的行
或者
awk 'length' data.txt
只打印长度不为零(即大于0)的行
还有其他工具,如
sed
或grep
,也可以这样做,但由于您特别要求使用awk
解决方案。要覆盖输入文件,您可以使用海绵
:
也许这些行(仅)有空格(或没有): sed的情况也一样:
sed '/^[[:blank:]]*$/d' inputfile
海绵
不是我常规Ubuntu安装的一部分,这是需要额外安装的吗?只是好奇。海绵
是软件包moreutils
的一部分。。它以一些有时处理得不太好的方式处理覆盖,例如,符号链接感谢信息,听起来很有用,我必须检查一下
awk 'length' data.txt
awk '/./ {print}' file | sponge file
awk '!/^[[:blank:]]*$/' inputfile
sed '/^[[:blank:]]*$/d' inputfile