首页 > 系统服务 > 详细

shell字符串处理

时间:2018-03-22 13:33:10      阅读:219      评论:0      收藏:0      [点我收藏+]
shell字符串处理

获取字符串长度 ${#var}

var="www.baidu.com"
echo ${#var}
13

字符串切片 ${var:index:length} 、${var:index} index从0开始

echo ${var:2}  //从下标为2开始,一直截取到结束
w.baidu.com
echo ${var:3:8}  //从下标为3开始截取8个字符
.baidu.c
echo ${var:(-5)}  //截取倒数5个字符
u.com
echo ${var:(-5):3}   //从倒数第5个字符开始截取3个字符
u.c

替换字符串 ${var/old_str/net_str}、${var//old_str/new_str}

echo ${var/www/WWW}
WWW.baidu.com

var="hello,hello,world,world"
echo ${var//hello/HELLO}  //全部替换
HELLO,HELLO,world,world

字符串截取

${var#*delimiter} 以分隔符为临界点(第一个位置),分为左右两段,取右段
${var##*delimiter} 以分隔符为临界点(最后一个位置),分为左右两段,取右段
${var%%delimiter*} 以分隔符为临界点(最后一个位置),分为左右两段,取左段
${var%delimiter*} 以分隔符为临界点(第一个位置),分为左右两段,取左段
[root@localhost ~]# var="http://www.baidu.com//admin/index.php"
[root@localhost ~]# echo ${var#*//}
www.baidu.com//admin/index.php
[root@localhost ~]# echo ${var##*//}
admin/index.php
[root@localhost ~]# echo ${var%%//*}
http:
[root@localhost ~]# echo ${var%//*}
http://www.baidu.com

变量状态赋值

${var:-str} //var变量为空返回str
${var:+str} //var变量不为空返回str
$(var:=str) //var变量为空重新赋值var变量值为str
${var:?str} //var变量为空则str输出到stderr

shell字符串处理

原文:http://blog.51cto.com/13480443/2089785

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