如何编写一个 nawk 脚本来打印除空行之外的所有内容并显示空行总数?

如何编写一个 nawk 脚本来打印除空行之外的所有内容并显示空行总数?

我尝试了几种不同的方法,但无法让它发挥作用。主要我只是想知道如何排除空行。

尝试过的命令:nawk '{print $0}' filename | grep -v " "

答案1

nawk -v count=0 '!NF {count++; next}; 1; END {print count}'

对于没有任何字段 ( !NF) 的所有行(在本例中为空行),增加count并继续。如果不是,则打印该行(任何真值的默认操作,包括1)。输入结束后,打印count.我们初始化count0以便如果每一行非空,count仍然有一个值。

我们可以使用-/^$/来代替!NF- 后者可能会在仅包含空格的行上失败。

相关内容