通过linux的命令或者shell,有什么方法能实现文件A列中每个数据在B列中出现的次数

场景如下:在linux系统中有个tmp.txt文件,cattmp.txt的内容如下A列B列123334223333231123333541334223我需要判断A列中每个... 场景如下:在linux系统中有个tmp.txt文件,cat tmp.txt的内容如下
A列 B列
123 334
223 333
231 123
333 541
334 223
我需要判断A列中每个数据在B列中出现的次数,并将次数写在第三列,预期结果如下
A列 B列 出现次数
123 334 2
223 333 0
231 123 0
333 541 1
334 123 1
请问各位大神有没有什么方法?拜谢!
另外说明下,不要让我弄到excel中用countif处理,因为行数超过500万行,excel搞不定的。
展开
 我来答
大大虫
高粉答主

2016-08-24 · 醉心答题,欢迎关注
知道大有可为答主
回答量:4.2万
采纳率:76%
帮助的人:1.4亿
展开全部
#!/bin/bash
cat filename.txt | awk '{print $1}'>A
cat filename.txt | awk '{print $2}'>B
cat /dev/null > C
cat A | while read line
do
echo -e "$line\t`grep $line B | wc -l `">> C
done


文件C就是你要的

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式