Grep 正则表达式不起作用

Grep 正则表达式不起作用

因此,我创建了一个简单的 grep 命令,该命令仅获取用户名以 161 开头且旁边有 3 位数字的最后登录人员:

last | grep "^161[0-9]{3}"

但是,即使列表中包含这些用户名,它也不会打印任何内容。更奇怪的是如果我用egrep而不是grep

last | egrep "^161[0-9]{3}"

该命令有效。

谁能解释一下有什么区别吗?

答案1

正如 Steeldriver 已经指出的那样,grep使用基本正则表达式,grep -Eegrep使用扩展正则表达式。

last | grep  '^161[0-9]\{3\}'
last | egrep '^161[0-9]{3}'

相关内容