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

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

2016-07-07 18:24 639 查看
字符串操作
${#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变量操作中 出现# % 就必须一直予以匹配才能进行相关操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: