我试图在正则表达式\s中指定while 空格grep,但似乎 grep 无法识别它。grep -E或者egrep也没有使用它。
这是我的试验:
$ echo ' foo' | grep '^ *foo'
foo
$ echo ' foo' | grep '^\s*foo' <-- **No Output**
$ echo ' foo' | grep -E '^\s*foo' <-- **No Output**
$ echo ' foo' | egrep '^\s*foo' <-- **No Output**
$ echo ' foo' | grep '^[[:space:]]*foo'
foo
我还注意到它可以识别\w但不能识别\d!
问题1.可以grep识别\s吗?
Que 2.我在哪里可以找到支持的正则表达式转义序列列表grep?
操作系统:RHEL5
壳牌:试过了sh,,,bashtcsh
$ grep --version
grep (GNU grep) 2.5.1
编辑
我尝试grep -P按照答案中的建议使用,但不幸的是它无法在我的系统上运行并引发以下错误:
$ echo ' foo' | grep -P '^\s*foo'
grep: The -P option is not supported <-- **ERROR**