grepで汎用パターン演算子{m,n}を使用するには?

grepで汎用パターン演算子{m,n}を使用するには?

文字列 "tt"を含む行を選択するだけのテキストファイルがあります。だから私はコマンドラインで次のことを試しました。

grep "t{2}" textfile

テキストファイルに「rotten」「litter」などの単語が含まれていることはわかっていますが、grepコマンドは行を表示せずにステータス1で終了します。

私は別の一般的なパターンを試しました。

grep "a.*x" textfile

これにはうまくいきます。

ベストアンサー1

基本的に、grep使用基本正規表現、grepが複数の文字と一致するようにするには、中かっこをエスケープする必要があります。

grep 't\{2\}' textfile

または、このオプションを使用できます-E(またはGNU grepの-Pオプション、これPerl互換正規表現)grep使用拡張正規表現、エスケープなしで中括弧を使用できます。

grep -E 't{2}'

おすすめ記事