linux字符串截取很有用,有八种方法
有变量url=https://www.test.com/123.html
#号截取,删除左边字符,保留右边字符
echo ${url#*//}
#输出
www.test.com/123.html
其中url是变量名,#是运算符,*//表示从左边开始删除第一个//号及左边的所有字符
即删除http://
##号截取,删除左边字符,保留右边字符
echo ${url##*/}
#输出
123.html
##*/表示从左边开始删除最后(最右边)一个/号及左边的所有字符
%截取,删除右边字符,保留左边字符
echo ${url%/*}
#输出
https://www.test.com
%/*表示从右边开始,删除第一个/号及右边的字符
%%截取,删除右边字符,保留左边字符
echo ${url%%/*}
#输出
https:
%%/*表示从右边开始,删除最后(最左边)一个/号及右边的字符
从左边开始第几个字符开始,及字符的个数
echo ${url:0:5}
#输出
https
其中0表示左边的第一个字符,5表示字符的总个数
从左边第几个字符开始,一直到结束
echo ${url:8}
#输出
www.test.com/123.html
其中的8表示左边的第9个字符开始,一直到结束
从右边的第几个字符开始,及字符的个数
echo ${url:0-8:3}
#输出
123
其中0-8表示右边算起第八个字符开始,3表示字符的个数
从右边的第几个字符开始,一直到结束
echo ${url:0-8}
#结果
123.html
表示从右边第8个字符碍事,一直到 结束
注意:左边的第一个字符从0开始,右边的第一个字符用0-1表示
总结下
#、##表示从左边删除,一个#表示从左边删除到第一个指定的字符;两个#表示从左边删除到最后一个指定的字符。
% 、%%表示从右边删除,一个%表示从右边删除第一个指定的字符;两个%表示从右边删除到最后一个指定的字符。
删除包括指定的字符串本身。