答案参考:
假设有变量var=http://www.oldboyedu.com/123.htm.
变量: var=http://www.oldboyedu.com/123.htm echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.oldboyedu.com/123.htm
变量: var=http://www.oldboyedu.com/123.htm echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 http://www.oldboyedu.com/ 结果是 :123.htm
变量: var=http://www.oldboyedu.com/123.htm echo ${var%/*} %/* 表示从右边开始,删除第一个 / 号及右边的字符 即删除 /123.htm 结果是:http://www.oldboyedu.com
变量: var=http://www.oldboyedu.com/123.htm echo ${var%%/*} %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符 即删除 //www.oldboyedu.com/123.htm. 结果是:http:
变量: var=http://www.oldboyedu.com/123.htm echo ${var:0:5} 其中的 0 表示左边第一个字符开始,5 表示字符的总个数。 即取值 从字符串的0字符取值h,取5个字符,到字符:(冒号) 结果是:http:
变量: var=http://www.oldboyedu.com/123.htm echo ${var:7} 其中的 7 表示左边第8个字符开始,一直到结束。 即取值 从字符串的第7位/之后取值,知道字符串结束 结果是 :www.oldboyedu.com/123.htm
变量: var=http://www.oldboyedu.com/123.htm echo ${var:0-7:3} 其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。 即取值 0-7从字符串右边取7位,然后再从左边取前3位 PS:特殊说明 ①当1-7时,表示0-7取7位,但从最左边的取值中减去1位,即var=987654321 0-7=987654321 1-7=87654321 ②当7-7时,表示0-7取7位,但从最左边的取值中减去7位,即var=987654321 0-7=987654321 7-7=987654321 ③当取值的范围小于输出的字符数时,将全部输出,即var=987654321 0-3=321 取4位时,显示321 结果是:123
变量: var=http://www.oldboyedu.com/123.htm echo ${var:0-7} 表示从右边第七个字符开始,一直到结束。 即取值 0-7从字符串右边取7位 结果是:123.htm 注:(左边的第一个字符是用单个数字字符0表示,右边的第一个字符用 0-1 表示).com/123.htm.
今天是每日一题陪伴大家的第98天,期待你的进步。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引
http://lidao.blog.51cto.com/3388056/1914205
本文出自 “李导的博客” 博客,请务必保留此出处http://lidao.blog.51cto.com/3388056/1949831
老男孩教育每日一题-第98天-shell知识点:shell脚本中字符串截取的常用用法?
原文地址:http://lidao.blog.51cto.com/3388056/1949831