为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第9天 一课玩转自动化运维全流程,轻松应对自动化运维岗

课程章节: 2章 shell编程基础:2-9 Shell中的字符串处理(课程链接:https://coding.imooc.com/lesson/549.html#mid=50185

主讲老师: 沈奇才

课程内容:shell编程实战与Linux运维基础--初始shell编程

课程收获:

1、获取字符串长度:用法:${#变量},shell里面取字符串长度意思是字符数没有字节的区别,1个汉字长度就是1):

var=xxxxxyyyyssss

echo "${#var}" ####长度是13

var2="中文长度"

echo "${#var2}" ####长度是4

2、字符串的截取(类似于sql里面的substr()函数或者python里面的切片s[2:10])

用法:${变量:起始位置:长度},起始位置从0开始数,如果不指定长度则默认一直取到最后,例如${var:2:3} 代表从第3个位置连续取3个字符

[zhang@localhost shell_with]$ var=abcdefgh      

[zhang@localhost shell_with]$ echo "${var:2:3}"

cde ###结果

[zhang@localhost shell_with]$ echo "${var:2}"  ###从第三个位置一直往后取字符串直到结束

cdefgh ###结果

3、删除某个子串,有多种写法:#、##、%、%%(均只能从头开始匹配)

#和##是从左开始删除匹配:${变量#匹配的字符串}

%和%%是从右开始删除匹配:${变量%匹配的字符串}

#和##的区别:#是最小匹配,##是最大匹配,如

[zhang@localhost shell_with]$  var=abcdefghasfasidgajslfjas

[zhang@localhost shell_with]$ echo "${var#a*j}"

slfjas

[zhang@localhost shell_with]$ echo "${var##a*j}"

as

4、替换:${变量/替换前的字符串/替换后的字符串} 或者${变量//替换前的字符串/替换后的字符串}

区别:/局部替换,之替换第一个匹配上的;//全局替换

将如果替换后的字符串置空,则就是删除的意思

https://img1.sycdn.imooc.com//631fd2290001be5919000911.jpghttps://img1.sycdn.imooc.com//631fd2530001a38b17050899.jpghttps://img1.sycdn.imooc.com//631fd26c0001d23c17590895.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消