Linux Shell 写regex pattern 识别字符串的单词
字符串: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个吗)
望各位解惑。
相关推荐
tianhuak 2020-11-24
huha 2020-10-16
lianshaohua 2020-09-23
laisean 2020-11-11
zhangjie 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
CARBON 2020-10-20
彼岸随笔 2020-10-20
lianshaohua 2020-10-20
yutou0 2020-10-17
JohnYork 2020-10-16
xiaonamylove 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
ourtimes 2020-10-16