1. ホーム
  2. regex

[解決済み] |"代替演算子 "を使用したgreping

2022-12-21 10:08:42

質問

以下は、AT5G60410.gffという名前の大きなファイルのサンプルです。

Chr5    TAIR10  gene    24294890    24301147    .   +   .   ID=AT5G60410;Note=protein_coding_gene;Name=AT5G60410
Chr5    TAIR10  mRNA    24294890    24301147    .   +   .   ID=AT5G60410.1;Parent=AT5G60410;Name=AT5G60410.1;Index=1
Chr5    TAIR10  protein 24295226    24300671    .   +   .   ID=AT5G60410.1-Protein;Name=AT5G60410.1;Derives_from=AT5G60410.1
Chr5    TAIR10  exon    24294890    24295035    .   +   .   Parent=AT5G60410.1
Chr5    TAIR10  five_prime_UTR  24294890    24295035    .   +   .   Parent=AT5G60410.1
Chr5    TAIR10  exon    24295134    24295249    .   +   .   Parent=AT5G60410.1
Chr5    TAIR10  five_prime_UTR  24295134    24295225    .   +   .   Parent=AT5G60410.1
Chr5    TAIR10  CDS 24295226    24295249    .   +   0   Parent=AT5G60410.1,AT5G60410.1-Protein;
Chr5    TAIR10  exon    24295518    24295598    .   +   .   Parent=AT5G60410.1

grepを使用して、この中から特定の行を抽出するのに苦労しています。 私は、3 列目で指定された "gene" または "exon" のタイプであるすべての行を抽出したいと思いました。これがうまくいかなかったので、私は驚きました。

grep 'gene|exon' AT5G60410.gff

結果が返されません。どこで間違ったのでしょうか?

どのように解決するのですか?

をエスケープする必要があります。 | . 以下のようにすればよい。

grep "gene\|exon" AT5G60410.gff