如何用awk命令提取文件中的某一列并统计该列中某个数字出现的次数?我的文件共三列,第三列是数字,从0到几千不等,要分别统计0-100这些数字在第三列出现的次数(视大于100的数为100),文件大致格式如下:Chr1 1 4Chr1 2 14Chr1 3 45Chr1 4 45Chr1 5 456Chr1 6 23Chr1 7 14
网友回答
【答案】 awk '{cnt[($3>100?100:$3)]++} END{for(key in cnt) print key : cnt[key]}' file 追问: 谢谢,代码可以跑~我现在做生物信息学,刚接触linux和python,能不能帮忙解释一下这个代码啊? 追答: 我的做法就是以第三列作为键值建立哈希表,表项值就是个数。keyword:哈希表