小编K.M*_*ole的帖子

如何在 grep 中使用 [:digit:] 匹配多个数字?

我是第一次使用 grep,在阅读手册后,我决定使用 [:digit:] 而不是 \d 或 [0-9] 来匹配数字。我发现在grep中,实际上是[[:digit:]]匹配数字。虽然我设法理解为什么有双括号,但我无法找到匹配多个整数的方法。

echo 'i100s'|grep -o '[[:digit:]]'
Run Code Online (Sandbox Code Playgroud)

将打印(如预期):

1
0
0
Run Code Online (Sandbox Code Playgroud)

但如果我尝试

echo 'i100s'|grep -o '[[:digit:]]+'
Run Code Online (Sandbox Code Playgroud)

或者

echo 'i100s'|grep -o '[[:digit:]]{0,3}'
Run Code Online (Sandbox Code Playgroud)

或者

echo 'i100s'|grep -o '[[:digit:]]\+'
echo 'i100s'|grep -o '[[:digit:]]\{0,3\}'
Run Code Online (Sandbox Code Playgroud)

它将无法匹配任何内容。为什么?

grep

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

grep ×1