This does not generate any output. How come?
$ echo \'this 1 2 3\' | grep \'\\d\\+\'
But these do:
$ echo \'this 1 2 3\' |
Try this $ echo 'this 1 2 3' | grep '[0-9]\+'
$ echo 'this 1 2 3' | grep '[0-9]\+'
grep's default mode is (iirc) POSIX regex, and \d is pcre. You can either pass -P to gnu grep, for perl-like regexps, or use [[:digit:]] instead of \d.
grep
\d
-P
[[:digit:]]
daenyth@Bragi ~ $ echo 1 | grep -P '\d' 1 daenyth@Bragi ~ $ echo 1 | grep '[[:digit:]]' 1