striver0 2011-04-16
字符串:aa bb cc dd
要求:输出字符串里的单词
pattern 1:
*@*:~$ echo aa bb cc dd |grep \\b\\w*\\b
result:aa bb cc dd
pattern 2:用+号代替*
*@*:~$ echo aa bb cc dd |grep \\b\\w+\\b
result:没有输出
问题在哪呢,对了+得转义,加个\
pattern 3:
*@*:~$ echo aa bb cc dd |grep \\b\\w\+\\b
result:还是没有输出
这是怎么回事,搞来搞去,才知道怎么回事,看下面就知道了
pattern 4:
*@*:~$ echo aa bb cc dd |grep \\b\\w\\+\\b
result:aa bb cc dd
最后给一个计算单词个数的shell命令
echo aa bb cc dd |sed -e s/\\b\\w\\+\\b/x/g | sed -e s/\\s//g | wc -m(好像不对,输出的是5,而实际上不是只有4个吗)
望各位解惑。