Это не дает никаких результатов. Как придешь?
$ 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).