Linux shell字符串截的八种方法

Shell 1486℃
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字符串截的八种方法