经常还是用到shell来处理文件的。总结下linux下shell截取字符串的方法,以便于以后使用方便

注意左边和右边时*号的位置的不同

1、str="helloworld";echo ${str#*o} : 从左往右去掉第一个o极其左边的字符串。

      输出为world

2、str="helloworld";echo ${str##*o}:   从左往右去掉最后一个o及其左边的字符串。

   输出为rld

3、str="helloworld";echo ${str%o*}: 从右往左去掉第一个o及其右边的字符串

   输出为hellow

4、str="helloworld";echo ${str%%o*}:从右往左去掉最后一个o及其右边的字符串


5、str="helloworld";echo ${str:2}: 输出从左边第2+1字符到末尾

     输出为lloworld


6、str="helloworld";echo ${str:2:3}: 输出从左边第2+1个字符开始,长度为3

    输出为llo


7、str="helloworld";echo ${str:0-2:3}:输出从右边2个字符开始,长度为3

  输出为ld

8、str="helloworld";echo ${str:0-2}: 输出从右边第2个字符开始,直到末尾
    输出为ld


9,str="helloworld";echo $str|awk '{print substr($1,1,8)}'  对awk的第一个输出截取从第一个开始长度为8

  输出 hellowor


10、str="helloworld";echo $str|cut -b2,4 截取的第2个和第4个

    输出el






Logo

更多推荐