如何根据另一个文件中的名称从一个文件中获取所有匹配项?

如何根据另一个文件中的名称从一个文件中获取所有匹配项?

file1我有一个名为以下信息的文件:

TCONS_00000011  XLOC_000003     -       u       q1:MSTRG.39|MSTRG.39.9|4|0.000000|0.000000|0.000000|7468
TCONS_00000012  XLOC_000004     -       u       q1:MSTRG.41|MSTRG.41.1|2|0.000000|0.000000|0.000000|1270
TCONS_00000013  XLOC_000003     -       u       q1:MSTRG.39|MSTRG.39.10|2|0.000000|0.000000|0.000000|6835
TCONS_00000014  XLOC_000003     -       u       q1:MSTRG.39|MSTRG.39.11|2|0.000000|0.000000|0.000000|880
TCONS_00000015  XLOC_000003     -       u       q1:MSTRG.39|MSTRG.39.12|3|0.000000|0.000000|0.000000|377
TCONS_00000016  XLOC_000005     -       u       q1:MSTRG.2|MSTRG.2.1|1|0.000000|0.000000|0.000000|709
TCONS_00000017  XLOC_000006     -       u       q1:MSTRG.4|MSTRG.4.1|1|0.000000|0.000000|0.000000|343
TCONS_00000018  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.1|7|0.000000|0.000000|0.000000|12112
TCONS_00000019  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.2|2|0.000000|0.000000|0.000000|310
TCONS_00000020  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.3|3|0.000000|0.000000|0.000000|538
TCONS_00000021  XLOC_000008     -       u       q1:MSTRG.42|MSTRG.42.1|9|0.000000|0.000000|0.000000|6331
TCONS_00000022  XLOC_000008     -       u       q1:MSTRG.42|MSTRG.42.2|5|0.000000|0.000000|0.000000|1311
TCONS_00000023  XLOC_000008     -       u       q1:MSTRG.42|MSTRG.42.3|5|0.000000|0.000000|0.000000|923
TCONS_00000024  XLOC_000008     -       u       q1:MSTRG.42|MSTRG.42.4|2|0.000000|0.000000|0.000000|455
TCONS_00000025  XLOC_000009     -       u       q1:MSTRG.7|MSTRG.7.1|1|0.000000|0.000000|0.000000|232
TCONS_00000026  XLOC_000010     -       u       q1:MSTRG.6|MSTRG.6.1|1|0.000000|0.000000|0.000000|483
TCONS_00000027  XLOC_000011     -       u       q1:MSTRG.12|MSTRG.12.1|2|0.000000|0.000000|0.000000|2489
TCONS_00000028  XLOC_000012     -       u       q1:MSTRG.14|MSTRG.14.1|1|0.000000|0.000000|0.000000|7604
TCONS_00000029  XLOC_000013     -       u       q1:MSTRG.55|MSTRG.55.1|4|0.000000|0.000000|0.000000|1511

如下file2所示:

XLOC_000005
XLOC_000007
XLOC_000009
XLOC_000010
XLOC_000012

根据来自的信息file2是否与file1我想从中提取所有信息的第二列匹配file1。输出应如下所示:

TCONS_00000016  XLOC_000005     -       u       q1:MSTRG.2|MSTRG.2.1|1|0.000000|0.000000|0.000000|709
TCONS_00000018  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.1|7|0.000000|0.000000|0.000000|12112
TCONS_00000019  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.2|2|0.000000|0.000000|0.000000|310
TCONS_00000020  XLOC_000007     -       u       q1:MSTRG.40|MSTRG.40.3|3|0.000000|0.000000|0.000000|538
TCONS_00000025  XLOC_000009     -       u       q1:MSTRG.7|MSTRG.7.1|1|0.000000|0.000000|0.000000|232
TCONS_00000026  XLOC_000010     -       u       q1:MSTRG.6|MSTRG.6.1|1|0.000000|0.000000|0.000000|483
TCONS_00000028  XLOC_000012     -       u       q1:MSTRG.14|MSTRG.14.1|1|0.000000|0.000000|0.000000|7604

我该如何做这个Linux?

答案1

这可能就是您想要的:

awk 'NR==FNR{a[$1]; next} $2 in a' file2 file1

相关内容