shell脚本学习---字串截取

shell是一个非常简单的编程语言,所以,如果你的脚本程序复杂度较高,或者要操作的数据结构比较复杂,那么还是应该使用Python、Perl这样的脚本语言。

  • 它的函数只能返回字串,无法返回数组
  • 它不支持面向对象,你无法实现一些优雅的设计模式
  • 它是解释型的,一边解释一边执行,连PHP那种预编译都不是,如果你的脚本包含错误(例如调用了不存在的函数),只要没执行到这一行,就不会报错。

 

假如待截取的字串 var="https://i.cnblogs.com/123.html"

1. # 号截取,删除左边字符,保留右边字符。

echo ${var#*//}

 

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :i.cnblogs.com/123.html

2. ## 号截取,删除左边字符,保留右边字符。

echo ${var##*//}

 

##*// 表示从左边开始删除最后(最右边)一个 // 号及左边的所有字符
即删除 https://

结果是 i.cnblogs.com/123.html

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

echo ${var%/*}

 

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

即删除 123.html

结果是:https://i.cnblogs.com

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

echo ${var%%/*}

 

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:

5. 从左边第几个字符开始,及字符的个数

 

echo ${var:0:5}

 

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:https

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

 

echo ${var:7}

 

其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :i.cnblogs.com/123.html

7. 从右边第几个字符开始,及字符的个数

 

echo ${var:0-8:3}

 

其中的 0-8 表示右边算起第8个字符开始,3 表示字符的个数。
结果是:123

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

 

echo ${var:0-8}

 

表示从右边第七个字符开始,一直到结束。
结果是:123.html

注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

转载于:https://www.cnblogs.com/Blog-c/p/10858941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值