如何计算文件中第一列不同值的个数?

例如

aaa   999
aaa   111
aaa   333
bbb   888
bbb   000
ccc   111

要得出这种结果

aaa 3
bbb 2
ccc 1
阅读 5.7k
3 个回答
< file.txt cut -d ' ' -f 1 | sort | uniq -c | awk '{ print $2 " " $1 }'
brayden@debian:~$ sort -k 1,2 tt.txt | awk '{a[$1]++}END{for(i in a)printf "%s\t%d\n",i,a[i]}'
aaa     3
bbb     2
ccc     1

foo.py

import sys
ret = {}
for line in open(sys.argv[1]):
    key = line.split()[0]
    ret.setdefault(key, 0)
    ret[key] += 1

for k, v in ret.items(): print k, v
$ python foo.py text.txt
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进