Linux
如何根據另一個文件中的名稱從一個文件中獲取所有匹配項?
我有一個文件,其名稱
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?
這可能是你想要的:
awk 'NR==FNR{a[$1]; next} $2 in a' file2 file1