数据示例:
01 IF 9/1 Adomaitis Valius adomvali 8.7
02 IF 9/1 Arlauskas Arunas arlaarun 5.7
03 IF 9/1 Bendoraitis Vaidotas bendvaid 8.5
04 IF 9/1 Bruklyte Sandra bruksand 7.8
05 IF 9/1 Dagys Gediminas dagygedi 7.4
我想写一个awk代码,它会打印出文件中的每个名字(Valius,Arunas等)以及它出现的次数。例如:Valius 25,Vaidotas 35等等。而Valius和其他名字在结果中不会出现两到三次。 我的awk代码到现在为止:
awk '{print $5}' /var/lab/lab2/rusiuot/stud2001
有什么建议吗?另外,我怎样才能编写一个命令来计算列中有多少个唯一姓氏(名称前面的列)?
答案 0 :(得分:0)
如果您想要计算第5列,那么以下内容可能对您有帮助。
awk '{if(!b[$(NF-2)]){b[$(NF-2)]++}} {a[$(NF-2)]++} END{for(i in a){print "sur name:",i,"Total count:",a[i],"Unique count:",b[i]}}' Input_file
输出如下(我刚刚编辑了你的样本,我在Input_file中添加了13次字符串Valius)。
sur name: Vaidotas Total count: 1 Unique count: 1
sur name: Arunas Total count: 1 Unique count: 1
sur name: Sandra Total count: 1 Unique count: 1
sur name: Gediminas Total count: 1 Unique count: 1
sur name: Valius Total count: 13 Unique count: 1