-3

私は2つのファイルを持っています

最初のファイルはこの形式です。各行は一意の ID で始まります (この場合は P22465)

P22465    DB   DB; EC.31.1.1; the annexin (annexin) group.

2 番目のファイルはこの形式です。各行は (数字)@ENTREZGENE で始まります

309@ENTREZGENE|ANXA6_HUMAN@SWISSPROT|P08133@SWISSPROT|ANXA6:ANXA6|67 kDa calelectrin

30@ENTREZGENE|THIK_HUMAN@SWISSPROT|P22465@SWISSPROT|ACAA1:ACAA1|EC 2.3.1.16

出力は

30@ENTREZGENE|THIK_HUMAN@SWISSPROT|P22465@SWISSPROT|ACAA1:ACAA1|EC 2.3.1.16

2番目のファイルの一意のID(P22465)を含む行と一致し、行全体を新しいファイルにコピーする必要があります

4

1 に答える 1

1

使用bash:

fgrep -f <(awk '{print $1}' file1) file2

これは、プロセス置換 ( <(...)) を使用します。おそらく次の方法でも実行できます。

awk '{print $1}' file1 | fgrep -f - file2

これはfgrep、「照合する文字列を標準入力から読み取る」ように指示します ( -f -)。これが機能することは確認していませんが、機能することを期待しています。

grep -Fの代わりに使用できますfgrep(ただし、Mac OS X には がありますfgrep)。

于 2013-05-14T15:36:33.050 に答える