grepはフルラインを取得します

grepはフルラインを取得します

次のファイルがあります。

  Chr1    Cufflinks       exon    7136    7944    .       +       .       gene_id "XLOC_000001"; transcript_id "TCONS_00000003"; exon_number "5"; gene_name "LOC_Os01g01010"; oId "TCONS_00000003"; nearest_ref "LOC_Os01g01010.2"; class_code "="; tss_id "TSS1"; p_id "P2";
  Chr1    Cufflinks       exon    8028    8150    .       +       .       gene_id "XLOC_000001"; transcript_id "TCONS_00000003"; exon_number "6"; gene_name "LOC_Os01g01010"; oId "TCONS_00000003"; nearest_ref "LOC_Os01g01010.2"; class_code "u"; tss_id "TSS1"; p_id "P2";

行に「u」がある限り、行全体を取得したいと思います。

出力は次のようになります。

  Chr1    Cufflinks       exon    8028    8150    .       +       .       gene_id "XLOC_000001"; transcript_id "TCONS_00000003"; exon_number "6"; gene_name "LOC_Os01g01010"; oId "TCONS_00000003"; nearest_ref "LOC_Os01g01010.2"; class_code "u"; tss_id "TSS1"; p_id "P2";

頑張ったgrep -o "u" a >b

答え1

以下を使用すると、awk列22を一致させることができます。

awk '$22=="\"u\";"' a

答え2

grep "\"u\";" a >b

仕事もします。

答え3

を含む行だけが必要な最も簡単な場合は、次のように"u"します。

grep '"u"' a > b

gffファイルの説明フィールドでのみ一致することを確認するには(これがgffファイルであると仮定)正しい形式タブで区切られたフィールドを含むgffファイル)次のことができます。

awk -F"\t" '$NF~/"u"/' a > b

"u"最後に、プロパティフィールドの7番目のサブフィールドにあるケースにのみ興味がある場合は、次のことを使用できます。

awk -F";" '$7~/"u"/' a > b

答え4

または:grepclass_code "u"

grep 'class_code "u"' input

関連情報