经常还是用到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