Questo non genera alcun output. Come mai?
$ echo 'this 1 2 3' | grep '\d\+'
Ma questi fanno:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
\+? Cosa significa?
+in una regex significa "uno o più dei token precedenti". In questo caso è sfuggito perché è la sintassi richiesta dal grepmotore regex predefinito di.
+deve essere evitato se stai usando grep; se stai usando egrep, non lo fa. grep -Eè equivalente a egrep(almeno per la versione GNU).