首页 > 系统服务 > 详细

shell脚本中变量子串的常用操作

时间:2016-07-07 22:42:19      阅读:316      评论:0      收藏:0      [点我收藏+]

字符串操作

    ${#string}输出字句的字符个数

    ${string:position:length}输出$position开始的length长度的字符

    ${string:position}

[root@ilove scripts]# liuyifei="i like sanpan i like luo swimming"
[root@ilove scripts]# echo ${#liuyifei}
33
[root@ilove scripts]# echo ${liuyifei:2:4}
like
[root@ilove scripts]# echo ${liuyifei:2}  
like sanpan i like luo swimming
====以上实测

     ${string#substring}从string中从前往后检索,只要匹配到字符就开始删除最短匹配
     ${string##substring}从头匹配,开始最长删除
     ${string%substring}从结尾开始
     ${string%%substring}从结尾开始,类似以上##
======以上必须必须从一开始就匹配上
[root@ilove scripts]# echo ${liuyifei#like}
i like sanpan i like luo swimming
[root@ilove scripts]# echo ${liuyifei#*like}
sanpan i like luo swimming
[root@ilove scripts]# echo ${liuyifei##*like}
luo swimming
[root@ilove scripts]# echo ${liuyifei%*like} 
i like sanpan i like luo swimming
[root@ilove scripts]# echo ${liuyifei%like} 
i like sanpan i like luo swimming
[root@ilove scripts]# echo ${liuyifei%like*}
i like sanpan i
[root@ilove scripts]# echo ${liuyifei%%like*}
i

========================

    ${string/substring/replace}替换第一个遇到的匹配的字符

    ${string/#substring/replace}前缀匹配,必须全部匹配上,替换一长条

    ${string/%substring/replace}从后往前,替换最后一个遇到的匹配字符,必须全部匹配

[root@ilove scripts]# echo ${liuyifei/like/love}     

i love sanpan i like luo swimming

[root@ilove scripts]# echo ${liuyifei/#*like/love}   

love luo swimming

[root@ilove scripts]# echo ${liuyifei/%like*/love}   

i love


个人总结:在shell变量操作中 出现# % 就必须一直予以匹配才能进行相关操作

shell脚本中变量子串的常用操作

原文:http://singler.blog.51cto.com/3984787/1812414

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!