bash——基于特定列的两个文件的指令



我想做以下事情,如果有人能帮我完成这件事,我将不胜感激:

我有两个名为File1.txt和File2.txt的选项卡delim文件(如下所示)。如果在File2.txt的第三列(integer)中找到File1.txt中的第二列(整数),则我想制作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)

相关内容

  • 没有找到相关文章

最新更新