【问题标题】:Common lines from 2 files based on 2 columns per file基于每个文件 2 列的 2 个文件的公共行
【发布时间】:2020-06-13 12:51:42
【问题描述】:

我有两个文件:

文件1:

1   imm_1_898835    0   908972  0   A
1   vh_1_1108138    0   1118275 T   C
1   vh_1_1110294    0   1120431 A   G
1   rs9729550   0   1135242 C   A

文件2:

1   exm1916089  0   865545  0   0
1   exm44   0   865584  0   G
1   exm46   0   865625  0   G
1   exm47   0   865628  A   G
1   exm51   0   908972  0   G
1   exmF    0   1120431 C   A

我想根据第 1 列和第 4 列获取文件 1 和 2 之间的重叠文件,我会打印第 1 列和第 4 列的公共值以及 file1 和 file2 的第 2 列。

例如

我想要:

1   908972  imm_1_898835    exm51
1   1120431 vh_1_1110294    exmF

【问题讨论】:

    标签: sorting unix join awk overlap


    【解决方案1】:

    请您尝试关注一下。

    awk 'FNR==NR{a[$1,$4]=$2;next} (($1,$4) in a){print $1,$4,a[$1,$4],$2}' file1  file2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-24
      • 2023-03-11
      • 2022-11-22
      • 2013-09-29
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      相关资源
      最近更新 更多