shell脚本字符串截取的多种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本字符串截取的多种方法相关的知识,希望对你有一定的参考价值。


前四种方法是删除某些字符,后四种方法是保留某些字符


1、# 号截取,删除左边字符,保留右边字符  

 var="hello world"
echo ${var#*l}
结果:
lo world

其中 var 是变量名,# 号是运算符,*l 表示从左边开始删除第一个 l及左边的所有字符
即删除 hel      

                                                                                              

2、## 号截取,删除左边字符,保留右边字符。

 var="hello world"
echo ${var##*l}
结果:
d

##*l 表示从左边开始删除最后(最右边)一个l及左边的所有字符
即删除 hello worl


3、%号截取,删除右边字符,保留左边字符

var="hello world"
echo ${var%l*}
结果:
hello wor

%l* 表示从右边开始,删除第一个l及右边的字符

即删除d


4、%% 号截取,删除右边字符,保留左边字符

 var="hello world"
echo ${var%%l*}
结果:
he

%%l* 表示从右边开始,删除最后(最左边)一个l及右边的字符

即删除llo world


5、从左边第几个字符开始,及字符的个数

var="hello world"
echo ${var:0:3}
结果:
hel

其中的 0 表示左边第一个字符开始,3表示字符的总个数。


6、从左边第几个字符开始,一直到结束。

var="hello world"
echo ${var:2}
结果:
llo world

其中的 2表示左边第3个字符开始,一直到结束。


7、从右边第几个字符开始,及字符的个数

var="hello world"
echo ${var:0-2:3}
结果:
ld

其中的 0-2 表示右边算起第二个字符开始,3 表示字符的个数。


8、从右边第几个字符开始,一直到结束。

var="hello world"
echo ${var:0-2}
结果:
ld

表示从右边第二个字符开始,一直到结束。




  1 #!/bin/bash
  2 var="hello world"
  3 echo ${var#*l}
  4 echo ${var##*l}
  5 echo ${var%l*}
  6 echo ${var%%l*}
  7 echo ${var:0:3}
  8 echo ${var:2}
  9 echo ${var:0-2:3}
 10 echo ${var:0-2}


[[email protected] test6_16]$ ./string.sh 
lo world
d
hello wor
he
hel
llo world
ld
ld


本文出自 “小镇青苔” 博客,请务必保留此出处http://fengbaoli.blog.51cto.com/10538178/1790049

以上是关于shell脚本字符串截取的多种方法的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本:字符串的截取

Shell脚本8种字符串截取方法总结

Shell脚本字符串截取方法总结

shell脚本中8种字符串截取方法_转自脚本之家

SHELL脚本之字符串大截取取与切割

shell脚本字符串截取的8种方法