Не поддерживается ли \d базовыми выражениями grep? Это не создает никакого вывода. Почему? $ echo 'this 1 2 3' | grep '\d\+' Но это делают: $ echo 'this 1 2 3' | grep '\s\+' this 1 2 3 $ echo 'this 1 2 3' | grep '\w\+' this 1 2 3 Ответ 1 grep Режим по умолчанию - (iirc) POSIX regex, а \d - pcre. Вы можете передать -P в gnu grep, для perl-подобных регулярных выражений или использовать [[:digit:]] вместо \d. [email protected] ~ $ echo 1 | grep -P '\d' 1 [email protected] ~ $ echo 1 | grep '[[:digit:]]' 1 Ответ 2 Попробуйте $ echo 'this 1 2 3' | grep '[0-9]\+'
Ответ 1 grep Режим по умолчанию - (iirc) POSIX regex, а \d - pcre. Вы можете передать -P в gnu grep, для perl-подобных регулярных выражений или использовать [[:digit:]] вместо \d. [email protected] ~ $ echo 1 | grep -P '\d' 1 [email protected] ~ $ echo 1 | grep '[[:digit:]]' 1