我想弄清楚如何将名称列表(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