如何用awk命令提取文件中的某一列并统计该列中某个数字出现的次数?

我的文件共三列,第三列是数字,从0到几千不等,要分别统计0-100这些数字在第三列出现的次数(视大于100的数为100),文件大致格式如下:Chr114Chr1214Ch... 我的文件共三列,第三列是数字,从0到几千不等,要分别统计0-100这些数字在第三列出现的次数(视大于100的数为100),文件大致格式如下:
Chr1 1 4
Chr1 2 14
Chr1 3 45
Chr1 4 45
Chr1 5 456
Chr1 6 23
Chr1 7 14
展开
 我来答
luneng8183
2013-08-13 · TA获得超过901个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:508万
展开全部
awk '{cnt[($3>100?100:$3)]++} END{for(key in cnt) print key ":" cnt[key]}' file
追问
谢谢,代码可以跑~我现在做生物信息学,刚接触linux和python,能不能帮忙解释一下这个代码啊?
追答
我的做法就是以第三列作为键值建立哈希表,表项值就是个数。keyword:哈希表
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式