Grepを使用して5〜6個の数字のみを含む行を検索する

Grepを使用して5〜6個の数字のみを含む行を検索する

5〜6個の数字のみを含む行を見つけるにはどうすればよいですか?このような。

ケース1(先行スペースを含む)

           10      2       12      1       13

ケース2(前に空白なし)

   1       2       3       4       5        6

私はこれがうまくいくと思います。

grep -E '[0-9]{5}'

ベストアンサー1

grep -E '[0-9]{5}'5桁以上の数字を探しています。必要なのは少なくとも1桁の数字5個です。

grep -E '[0-9]+([^0-9]+[0-9]+){4}'
  • [0-9]+- 少なくとも1桁の数字
  • [^0-9]+[0-9]+- 少なくとも1つの数字ではなく、文字が前に来る少なくとも1つの数字を含む数字。その後、これを4回繰り返して、数字ではなく数字で区切られた5つの数字を取得します。
  • 要件が正確に5の場合は、行全体が一致するように対応する正規表現を囲むことができます[^0-9](もちろんアンカーを含む)。
  • 必要なもの(適格かどうか1,2,3,4,6)に応じて、他の区切り文字を考慮することもできます。たとえば、科学的表記の正しい間違いは次のとおりです。したがって、区切り記号には背を[+-]?(([0-9]+(\.[0-9]+)?)|([0-9]?\.[0-9]+))([eE][+-][0-9]+)?含めることはできません.。コメントeのように空白かもしれません。mikeservあるいは、CSVレコードの場合はカンマでもかまいません。または、ロケールによってコンマが小数点区切りになります。[^0-9]あなたのニーズによって異なります。

おすすめ記事