이것은 출력을 생성하지 않습니다. 어째서?
$ 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
나도. (Cygwin) 갖고 싶었나요
—
Eric Wilson
\+
? 그게 무슨 뜻입니까?
예, bash를 사용하여 Ubuntu 10.04에 있습니다. grep의 BRE의 경우 일부 문자를 이스케이프해야합니다. man grep에서 "Basic vs Extended Regular Expressions"를 사용해보십시오.
—
Ankur Agarwal
@FarmBoy :
—
Daenyth
+
정규식에서 "이전 토큰 중 하나 이상"을 의미합니다. 이 경우 grep
의 기본 정규식 엔진에 필요한 구문이기 때문에 이스케이프 됩니다.
@FarmBoy :
—
Keith Thompson
+
사용중인 경우 이스케이프해야합니다 grep
. 을 사용하는 egrep
경우에는 그렇지 않습니다. (적어도 GNU 버전의 경우) grep -E
와 동일합니다 egrep
.