awk/Unix 分组依据 [英] Awk/Unix group by
本文介绍了awk/Unix 分组依据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有这个文本文件:
name, age
joe,42
jim,20
bob,15
mike,24
mike,15
mike,54
bob,21
试图得到这个(计数):
Trying to get this (count):
joe 1
jim 1
bob 2
mike 3
谢谢,
推荐答案
$ awk -F, 'NR>1{arr[$1]++}END{for (a in arr) print a, arr[a]}' file.txt
joe 1
jim 1
mike 3
bob 2
说明
-F,
在,
上拆分NR>1
处理第 1 行之后的行arr[$1]++
增量数组arr
(用,
分割)以第一列为键END{}
块在处理文件结束时执行for (a in arr)
使用a
键迭代arr
print a
打印 key, arr[a]
数组 witha
key-F,
splits on,
NR>1
treat lines after line 1arr[$1]++
increment arrayarr
(split with,
) with first column as keyEND{}
block is executed at the end of processing the filefor (a in arr)
iterating overarr
witha
keyprint a
print key, arr[a]
array witha
key
EXPLANATIONS
这篇关于awk/Unix 分组依据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文