您的位置:首页 > 运维架构 > Shell

Linux下shell脚本中的字符串截取

2017-03-28 23:18 555 查看
shell中字符串截取有8种方法:

现在假设有变量 val=http://Facebook.com

1. # 号截取,删除左边字符,保留右边字符,具体看下图:



执行结果图:



echo ${val#*//}

其中 val 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符,即删除 http://
2.## 号截取,删除左边字符,保留右边字符,如图:



执行结果:



echo ${val##*k} ,##*k 表示从左边开始删除最后(最右边)一个 字符k及左边的所有字符,即删除 http://Facebook ,结果是 .com

3.%号截取,删除右边字符,保留左边字符



执行结果:



echo ${val%/* }, %/* 表示从右边开始,删除第一个 / 号及右边的字符

4 . %% 号截取,删除右边字符,保留左边字符



执行结果:



echo ${val%%/* } , %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

5.从左边第几个字符开始,要截取的字符个数,如图:



执行结果:



echo ${val:0:7} ,其中 0 表示从左边第一个字符开始,7 表示要截取字符的总个数。

6 . 从左边第几个字符开始,一直到结束.



执行结果:



echo ${val:5},其中的5表示截取从左边第6个字符开始到结束的字符串。

7 . 从右到左的第几个字符开始,截取从左到右的多少个字符



执行结果:



echo ${val:0-8:4} ,其中 0-8 表示从最右边算起第8个字符开始,4 表示要截取的字符个数。

8 . 从右边第几个字符开始,一直到结束.



执行结果:



echo ${val:0-8},表示从右边第8个字符开始,一直截取到结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息