如何从名称列表中获取两个字段数的总和:一个有 2 个字段,另一个有 3 个或更多字段



我想弄清楚如何将名称列表(FS=")排序为两堆:一堆有 2 个字段,另一堆有 3 + 个字段,但只在一个句子中显示两个列表中的记录总数。这可能吗?如果是这样,如何?

(我是awk的新手,脚本。有大量关于如何显示字段总和的信息,但没有关于如何通过 NF 将列表拆分为两个文件然后显示总和的信息。

来了

awk 'NF >= 2{x[NF==2?2:3]++};
END{for (i in x) printf "%d records with %s fieldsn", x[i], i==3?"3+":"2"}' file

假设数字在最后一个字段中

awk '{ sum += $NF } END { print sum }' file.txt

最新更新