标签: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} [fbl@www test6_16]$ ./string.sh lo world d hello wor he hel llo world ld ld
本文出自 “小镇青苔” 博客,请务必保留此出处http://fengbaoli.blog.51cto.com/10538178/1790049
标签:shell
原文地址:http://fengbaoli.blog.51cto.com/10538178/1790049