参考:http://www.111cn.net/sys/linux/43707.htm
一、截取
工作中字符串操作举例
filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'
#下面是使用shell字符串操作
buName1=${filename#*/jobs/}#去除'/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'前缀得到'CnClickstat/DFSLoader/loader.cfg'
buName1=${buName1%%/}
其中 var 是变量名,#号是运算符,*//表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.hao.com/123.htm
二 ##号截取,删除左边字符,保留右边字符。
echo${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 /号及左边的所有字符
即删除http://www.hao.com/
结果是123.htm
三%号截取,删除右边字符,保留左边字符
echo${var%/*}
%/*表示从右边开始,删除第一个 /号及右边的字符
结果是:http://www.hao.com
四%%号截取,删除右边字符,保留左边字符
echo${var%%/*}
.%%/*表示从右边开始,删除最后(最左边)一个 /号及右边的字符
结果是:http:
五 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
六 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.hao.com/123.htm
七从右边第几个字符开始,及字符的个数
echo${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
八 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm