使用 awk 查找文件中的空行

Cai*_*inG 2 awk gawk

我对这样一个基本的问题表示歉意,但我正在尝试使用 awk 计算文本文件中的空白行数。这不是家庭作业。Windows 10.Gawk 4.1.3

BEGIN { x=0 } 
/^$/  { x=x+1 } 
END   { print "I found " x " blank lines." }
Run Code Online (Sandbox Code Playgroud)

输出始终是:我发现 0 个空行。

谢谢。

hek*_*mgl 5

该命令应该可以工作,但您可以跳过 的初始化xawk会自动为您完成。NF如果该变量的0计算结果false为空,则可以使用该变量进行该检查。此外我建议使用printf

!NF  {x++}
END  {printf "I found %d blank lines\n", x}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你可以简单地使用grep

grep -ch '^$' file
Run Code Online (Sandbox Code Playgroud)

-c仅输出找到的出现次数,-h抑制文件名的输出。

使用命令替换将输出插入到echo语句中:

echo "I found $(grep -ch '^$' file) blank lines"
Run Code Online (Sandbox Code Playgroud)