linux shell脚本截取字符串的八种方式



创建文件:

vim shell01.sh


echo "=====截取字符串的八种方式======"
string="
http://localhost:8080/myprogram/index.html"
echo ${string}
echo '#*//从左边开始, 删除//左边的值,保留右边的值  '${string#*//}
echo '#//*无法截取,#只能从左侧截取,截去左边的值'
echo '##*/从左边开始, 删除最后(最右边)一个/左边的值,保留右边的值 '${string##*/}
echo '%/* 从右边开始, 删除/右边字符,保留左边字符 '${string%/*}
echo '%%/*从右边开始, 删除最后(最左边)一个/右边的值,保留左边的值 '${string%%/*}
echo '---从左边开始,0表示左边第一个字符,0-1代表右边第一个字符'
echo '${string:2:5} 从左边下标为2的字符开始,长度为5 '${string:2:5}
echo '${string:2} 从左边下标为2的字符开始,一直到最后'${string:2}
echo '${string:0-7:5} 从右边第7个字符开始,长度为5'${string:0-7:5}
echo '${string:0-7} 从右边第七个字符开始,一直到最后'${string:0-7}


给当前用户赋执行权限:

chmod +x shell01.sh


运行结果:

linux shell脚本截取字符串的八种方式


总结:

1.#截去左面的值,%截去右面的值。注意截取和截去的区别。

2.#*/,从左面开始截去第一个/左边的值;##*/,从左面开始,截去最后一个(最右边)/左边的值。

3.%/*,从右面开始,截去第一个/右边的值,保留左边的值;%%/*,从右面开始,删除最后一个(最左边)/右边的值,保留左边的值。