テキスト処理

テキスト処理

2つのファイルがあります。

ファイルA:

       Chr1     Cufflinks     exon    2903   3268   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000002"; exon_number "1"; oId "CUFF.1.2"; tss_id "TSS1";

       Chr1     Cufflinks     exon    3354   3616   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000002"; exon_number "2"; oId "CUFF.1.2"; tss_id "TSS1";

       Chr1     Cufflinks     exon    4357   4455   .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000761"; exon_number "3"; oId "CUFF.1.2"; tss_id "TSS1";

文書B;

TCONS_00000066
TCONS_00000600
TCONS_00000761
TCONS_00000762
TCONS_00000773

Bファイルを一致させ、一致する場所を印刷したいです。この例では、ファイルAのIDは列12にあります。

出力は次のようにする必要があります

    Chr1    Cufflinks   exon    4357    4455    .   +   .   gene_id "XLOC_000001"; transcript_id "TCONS_00000761"; exon_number "3"; oId "CUFF.1.2"; tss_id "TSS1";

ファイルAの完全な行はファイルCになければなりません。

awkコマンドを試しましたが失敗しました。

awk 'FNR==NR {a[$12];next}; !($12 in a)' B A >C

助けてください。

ベストアンサー1

grep -fB A

必要な操作を行います。この-fオプションは、パターンをロードするファイルを1行に1つずつ指定します。Aパターンに一致するすべてのラインがB出力されます。

おすすめ記事