var=http://www.05bk.com/123.htm
1. #代表从左懒惰匹配,删除左边,保留右边
echo ${var#*/} /www.05bk.com/123.htm #其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除至"//"
2. ##代表从左贪婪匹配,删除左边,保留右边
echo ${var##*/} 123.htm #其中##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
3. %代表从右懒惰匹配,删除右边,保留左边
echo ${var%/*} http://www.05bk.com #其中%/* 表示从右边开始,删除第一个 / 号及右边的字符
4. %%代表从右贪婪匹配,删除右边,保留左边
echo ${var%%/*} http: #%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
5. 从左边第几个字符开始:偏移字符总数
echo ${var:0:5} http: #其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
6. 从左边第几个字符开始一直到结束
echo ${var:7} www.05bk.com/123.htm #其中的 7 表示左边第8个字符开始,一直到结束。
7. 从右边第几个字符开始:偏移字符的总数
echo ${var:0-7:3} 123 #其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
8. 从右边第几个字符开始一直到结束
echo ${var:0-7} 123.htm #表示从右边第七个字符开始,一直到结束。
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
转载请注明:零五宝典 » Linux shell字符串截的八种方法