我对这样一个基本的问题表示歉意,但我正在尝试使用 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 个空行。
谢谢。
该命令应该可以工作,但您可以跳过 的初始化x。awk会自动为您完成。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)