Dies erzeugt keine Ausgabe. Woher?
$ echo 'this 1 2 3' | grep '\d\+'
Aber diese tun:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
\+
? Was bedeutet das?
+
In einem regulären Ausdruck bedeutet "einer oder mehrere der vorherigen Token". In diesem Fall wird es maskiert, da dies die Syntax ist, die von grep
der Standard-Regex-Engine benötigt wird.
+
muss maskiert werden, wenn Sie verwenden grep
; Wenn Sie verwenden egrep
, ist dies nicht der Fall. grep -E
entspricht egrep
(zumindest für die GNU-Version).