基于每个文件 2 列的 2 个文件的公共行
Common lines from 2 files based on 2 columns per file
我有两个文件:
文件 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
能否请您尝试以下。
awk 'FNR==NR{a[,]=;next} ((,) in a){print ,,a[,],}' file1 file2
我有两个文件:
文件 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
能否请您尝试以下。
awk 'FNR==NR{a[,]=;next} ((,) in a){print ,,a[,],}' file1 file2