Jak grepować te same ciągi, porównując dwa pliki

9

Mam dwa pliki plik A i plik B.

Plik A zawiera wszystkie informacje, podczas gdy plik B zawiera unikalne identyfikatory informacji. Chcę porównać oba pliki i grep informacje o identyfikatorach z pliku A.

Plik 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

plik B:

A1S_1865
A1S_1774
A1S_1116
A1S_0106
A1S_2677

Pożądane wyjście:

acb:A1S_1865    ncbi-proteinid:ABO12292
acb:A1S_0106    ncbi-proteinid:ABO10593
Rhea
źródło

Odpowiedzi:

15

Z grep:

grep -Ff fileB fileA

-f <filename>każe grepczytać wzorce z pliku i -Fsprawia, że ​​traktuje wzorce jako stałe ciągi zamiast wyrażeń regularnych. (Zakłada się, że identyfikatory nie są wyświetlane w drugiej kolumnie).

muru
źródło