Grep-Regex funktioniert nicht

Grep-Regex funktioniert nicht

Daher erstelle ich einen einfachen Grep-Befehl, der nur die zuletzt angemeldeten Personen abruft, deren Benutzername mit 161 beginnt und daneben drei Ziffern stehen:

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

Allerdings wird nichts gedruckt, obwohl diese Benutzernamen auf der Liste stehen. Noch seltsamer ist es, wenn ich egrep statt grep ausführe.

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

Der Befehl funktioniert.

Kann jemand erklären, was der Unterschied ist?

Antwort1

Wie steeldriver bereits anmerkte, grepverwendet es grundlegende reguläre Ausdrücke, während grep -Eund egreperweiterte reguläre Ausdrücke verwendet.

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

verwandte Informationen