Grep regex não funciona

Grep regex não funciona

Então, estou criando um comando grep simples que obtém apenas as últimas pessoas logadas cujo nome de usuário começa com 161 e tem 3 dígitos próximos a ele:

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

No entanto, não imprime nada, embora tenha esses nomes de usuário na lista. O que é ainda mais estranho é se eu fizer egrep em vez de grep

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

O comando funciona.

Alguém pode explicar qual é a diferença?

Responder1

Como o steeldriver já apontou, grepusa expressões regulares básicas enquanto grep -Eusa egrepexpressões regulares estendidas.

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

informação relacionada