shell字符串处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell字符串处理相关的知识,希望对你有一定的参考价值。
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*} 以分隔符为临界点(第一个位置),分为左右两段,取左段
[[email protected] ~]# var="http://www.baidu.com//admin/index.php"
[[email protected] ~]# echo ${var#*//}
www.baidu.com//admin/index.php
[[email protected] ~]# echo ${var##*//}
admin/index.php
[[email protected] ~]# echo ${var%%//*}
http:
[[email protected] ~]# 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字符串处理的主要内容,如果未能解决你的问题,请参考以下文章