
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, grep
usa expressões regulares básicas enquanto grep -E
usa egrep
expressões regulares estendidas.
last | grep '^161[0-9]\{3\}'
last | egrep '^161[0-9]{3}'