ファイル1の列を別のファイル2のテキストと一致させ、一致するファイルを印刷する方法2

ファイル1の列を別のファイル2のテキストと一致させ、一致するファイルを印刷する方法2

ファイル1

Name,TaxID,Lineage,Count,Proportion_All(%),Proportion_Classified(%)
Acaryochloris marina,155978,Bacteria;Cyanobacteria;;Synechococcales;Acaryochloridaceae;Acaryochloris,4,0.000218669,0.00120249
Anabaena cylindrica,1165,Bacteria;Cyanobacteria;;Nostocales;Nostocaceae;Anabaena,9,0.000492005,0.00270561

ファイル2

Object_ID, Length, Assignment
NODE_1_length_501653_cov_19.284,501653,1727163
NODE_2_length_458856_cov_17.1812,458856,374606
NODE_3_length_369230_cov_19.3769,369230,1727163
NODE_4_length_342860_cov_16.7318,342860,83263
NODE_5_length_301494_cov_19.1256,301494,1727163
NODE_6498_length_5833_cov_14.8079,5833,155978
NODE_6499_length_5833_cov_4.85133,5833,NA
NODE_6500_length_5831_cov_23.1697,5831,553814
NODE_6501_length_5831_cov_22.403,5831,795665

出力

Object_ID, Length, Assignment
NODE_6498_length_5833_cov_14.8079,5833,155978

File 1の2番目の列のALl値は、File 2の最後の配列のテキストと一致し、見つかった場合はFile 2が印刷されます。

答え1

awkを使用してください:

awk -F, 'NR==FNR {TaxID[$2]=1; next} FNR==1 || $NF in TaxID' File1 File2
Object_ID, Length, Assignment
NODE_6498_length_5833_cov_14.8079,5833,155978

関連情報