linux shell 写regex pattern 识别字符串的单词

    技术2022-05-20  61

    字符串: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个吗)

    望各位解惑

     

     


    最新回复(0)