使用awk计算记录数

Shw*_*eta 19 awk

我想通过awk计算表中的所有记录,但是NR打印所有记录的记录,而不是总计数.我甚至尝试过:

NF==4,count++{print count}
Run Code Online (Sandbox Code Playgroud)

但它不能正常工作我怎么能通过awk做到这一点?

kur*_*umi 33

请在下次显示您的文件样本以及您要对其执行的操作(显示所需的输出).只是猜猜你想要什么,

awk 'NF==4{count++} END {print count}' file
Run Code Online (Sandbox Code Playgroud)

记录总数由NR表示.

awk 'END{print NR}' file1 file2
Run Code Online (Sandbox Code Playgroud)

当前记录的总数由FNR表示.

awk 'END{print FNR}' file
Run Code Online (Sandbox Code Playgroud)


Har*_*non 14

我想你的意思是总行数.一般来说,你应该使用wc -l <filename>它.如果你想用awk做这个,请使用

awk '{print NR}' | tail -1
Run Code Online (Sandbox Code Playgroud)

如果您只想使用awk,请执行

awk 'BEGIN{i=0}{i++;}END{print i}' <filename>
Run Code Online (Sandbox Code Playgroud)