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]
あなたのニーズによって異なります。