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

场景如下:在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搞不定的。

#!/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就是你要的

温馨提示:答案为网友推荐,仅供参考
相似回答