Это не дает никаких результатов. Как придешь?
$ 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
2
Ни один из них не работает для меня (Solaris).
—
spraff 01
И я нет. (Cygwin) Вы хотели иметь
—
Эрик Уилсон
\+? Что это значит?
да, я использую Ubuntu 10.04, использую bash. Для BRE в grep вам нужно экранировать некоторые символы. Попробуйте "Простые и расширенные регулярные выражения" в man grep.
—
Анкур Агарвал
@FarmBoy:
—
Daenyth 01
+в регулярном выражении означает «один или несколько предыдущих токенов». В этом случае он экранирован, потому что это синтаксис, необходимый для grepмеханизма регулярных выражений по умолчанию.
@FarmBoy:
—
Кейт Томпсон
+нужно экранировать, если вы используете grep; если вы используете egrep, это не так. grep -Eэквивалентно egrep(по крайней мере, для версии GNU).