永发信息网

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

答案:2  悬赏:10  手机版
解决时间 2021-03-05 19:09
  • 提问者网友:蓝琪梦莎
  • 2021-03-05 00:04
场景如下:在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搞不定的。
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-03-05 00:30
#!/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就是你要的
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-03-05 02:06
我不会~~~但还是要微笑~~~:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯