GNU/Linux >> Linux の 問題 >  >> Linux

Grep:{}のコンテンツが無効ですか?

コマンドは次のとおりです:

grep '(2)[[:digit:]]{1}' numbers

必要なのは、数字「2」の2桁後、式の数字「2」を「3」に変更した場合は3桁、…

の場合は4桁に正確に一致させることです。

ここでは逆参照を使用していますが、このコマンドを実行すると、次の出力が得られます:

grep: invalid content of {}

どうすれば私の表現を変えることができますか?

最初の解決策:
サージが答えたように:

2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}

それは実際には機能する可能性がありますが、(34)があるとします。 最初の部分式として、34のケース(またはそれ以上)を実装する必要がないように、その番号を逆参照できればと思います。

承認された回答:

ここでは後方参照は許可されていません。考えられるすべてのケースを説明する式を作成する必要があります。例:

2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}

Linux
  1. Grep -v予期しない動作?

  2. Grep And Tail -f?

  3. 文字列変数のコンテンツをgrepする方法は?

  1. Linuxgrepコマンド

  2. grep を使用してファイル内のコンテンツを検索し、一致する場合は移動します

  3. 再帰的にgrepするにはどうすればよいですか?

  1. Grep:メモリが使い果たされましたか?

  2. Linuxでディレクトリのコンテンツ全体で単語を検索する方法

  3. grep と awk の使用