字符串截取
》用#截取
var="http://www.baidu.com"
<span style="font-size:14px;"># 用#截取:删除左边字符,保留右边字符
echo ${var#*:}</span>
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
结果:
[root@localhost SHELL]# ./shell.sh
//www.baidu.com
》##截取# 用##截取:删除左边字符,保留右边字符
echo ${var##*/}
# 用##截取:删除左边字符,保留右边字符
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
结果:
<span style="font-size:14px;"><strong>[root@localhost SHELL]# ./shell.sh
www.baidu.com</strong></span>
将变量改为var="http://www.baidu.com/"
结果:输出为空
》%截取
var="http://www.baidu.com/"
<span style="font-size:14px;color:#666666;"><strong># %号截取,删除右边字符,保留左边字符
echo ${var%*/}</strong></span>
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果:
<strong><span style="color:#666666;">[root@localhost SHELL]# ./shell.sh
http://www.baidu.com
</span></strong>
var="http://www.baidu.com/"
<span style="color:#666666;"> #%% 号截取,删除右边字符,保留左边字符
echo ${var%%*/}</span><span style="color:#0000ff;">
</span>
%% 号截取,删除右边字符,保留左边字符
结果:
输出为空
》
var="http://www.baidu.com/"
从左边第几个字符开始,及字符的个数
echo ${var:0:7}
其中的 0 表示左边第一个字符开始,7表示要截取字符的总个数。
[root@localhost SHELL]# ./shell.sh
http://
var="http://www.baidu.com/"
从左边第几个字符开始,一直到结束
<span style="color:#666666;background-color: rgb(255, 255, 255);">echo ${var:7}</span><pre name="code" class="cpp">[root@localhost SHELL]# ./shell.sh
www.baidu.com/
》
var="http://www.baidu.com/"
从右边第几个字符开始,及字符的个数
<span style="color:#666666;">echo ${var:0-7:3}
[root@localhost SHELL]# ./shell.sh
du.</span>
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
var="http://www.baidu.com/"
从右边第几个字符开始,一直到结束。
echo ${var:0-7}
[root@localhost SHELL]# ./shell.sh
du.com/
将变量改为
var="http://www.baidu.com/"