加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 基于特定列的两个文件的instersection?

发布时间:2020-12-15 21:40:51 所属栏目:安全 来源:网络整理
导读:我想做以下事情,如果有人能帮助我做到这一点,我将非常感激: 我有两个名为File1.txt和File2.txt的tab-delim文件(如下所示). 如果File2.txt中的第二列(整数)在File2.txt的第3列(整数)中找到则 我想制作new_File1.txt和new_File2.txt并继续追加 行. FILE1.TXT
我想做以下事情,如果有人能帮助我做到这一点,我将非常感激:

我有两个名为File1.txt和File2.txt的tab-delim文件(如下所示).
如果File2.txt中的第二列(整数)在File2.txt的第3列(整数)中找到则
我想制作new_File1.txt和new_File2.txt并继续追加
行.

FILE1.TXT:

1   80  xyc
1   304 xyv
1   813653  xyb
1   813661  xyn
1   954653  xym

FILE2.TXT:

abvb    1   178
aaa 1   304 
ttt 1   353
ggg 1   98971
ghj 1   813653

例如,我的new_File1.txt将如下所示:

new_File1.txt:

1   304 xyv
1   813653  xyb

new_File2.txt:

aaa     1   304
ghj     1   813653

感谢大家的帮助!
我用过 :

join -1 2 -2 3 -t 't' file1.txt file2.txt

但它给了我以下输出:

1      80      xycabvb        1       178
1      80      xycaaa 1       304
1      80      xycttt 1       353
1      80      xycggg 1       98971
1      80      xycghj 1       813653
1      304     xyvabvb        1       178
1      304     xyvaaa 1       304
1      304     xyvttt 1       353
1      304     xyvggg 1       98971
1      304     xyvghj 1       813653
1      813653  xybabvb        1       178
1      813653  xybaaa 1       304
1      813653  xybttt 1       353
1      813653  xybggg 1       98971
1      813653  xybghj 1       813653
1      813661  xynabvb        1       178
1      813661  xynaaa 1       304
1      813661  xynttt 1       353
1      813661  xynggg 1       98971
1      813661  xynghj 1       813653
1      954653  xymabvb        1       178
1      954653  xymaaa 1       304
1      954653  xymttt 1       353
1      954653  xymggg 1       98971
1      954653  xymghj 1       813653

解决方法

你在找 join(1).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读