Grep regex no funciona

Grep regex no funciona

Así que estoy creando un comando grep simple que obtiene solo las últimas personas que iniciaron sesión cuyo nombre de usuario comienza con 161 y tiene 3 dígitos al lado:

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

Sin embargo, no imprime nada aunque tenga estos nombres de usuario en la lista. Lo que es aún más extraño es si hago egrep en lugar de grep.

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

El comando funciona.

¿Alguien puede explicar cuál es la diferencia?

Respuesta1

Como ya señaló Steeldriver, grepusa expresiones regulares básicas mientras que grep -Eusa egrepexpresiones regulares extendidas.

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

información relacionada