
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, grep
usa expresiones regulares básicas mientras que grep -E
usa egrep
expresiones regulares extendidas.
last | grep '^161[0-9]\{3\}'
last | egrep '^161[0-9]{3}'