Cara grep string yang sama dengan membandingkan dua file

9

Saya punya dua file file A dan file B

File A berisi semua informasi sementara file B berisi id informasi unik. Yang ingin saya lakukan adalah membandingkan kedua file dan mengambil informasi id dari file A

file A:

acb:A1S_1863    ncbi-proteinid:ABO12290
acb:A1S_1864    ncbi-proteinid:ABO12291
acb:A1S_1865    ncbi-proteinid:ABO12292
acb:A1S_0105    ncbi-proteinid:ABO10592
acb:A1S_0106    ncbi-proteinid:ABO10593

file B:

A1S_1865
A1S_1774
A1S_1116
A1S_0106
A1S_2677

output yang diinginkan:

acb:A1S_1865    ncbi-proteinid:ABO12292
acb:A1S_0106    ncbi-proteinid:ABO10593
Rhea
sumber

Jawaban:

15

Dengan grep:

grep -Ff fileB fileA

-f <filename>memberitahu grepuntuk membaca pola dari file, dan -Fmembuatnya memperlakukan pola sebagai string tetap, bukan ekspresi reguler. (Ini dengan asumsi ID tidak muncul di kolom lain.)

muru
sumber