Shell:字符串操作
获取字符串变量的长度:
str="hello"
echo ${#str} #5
截取字符串变量:
var="http://www.github.com/xuejianbest/index.html"
# #号截取,删除前边字符,保留后边字符。
echo ${var#*/} # 删除第一个/号及前边的所有字符,返回:/www.github.com/xuejianbest/index.html
echo ${var##*/} # 删除最后一个/号及前边的所有字符,返回:index.html
# %号截取,删除后边字符,保留前边字符
echo ${var%/*} # 删除最后一个/号及后面的所有字符,返回:http://www.github.com/xuejianbest
echo ${var%%/*} # 删除第一个/号及后面的所有字符,返回:http:
# 获取从前边第几个字符开始,及字符的个数,前边第一个字符索引为0。
echo ${var:0:5} # 从前边第0个字符开始,获取5个字符,返回:http:
echo ${var:7} # 从前边第7个字符开始,获取到最后,返回:www.github.com/xuejianbest/index.html
# 获取从后边第几个字符开始,及字符的个数,后边第一个字符索引为1。
echo ${var:0-10:5} # 从后边第10个字符还是,获取5个字符,返回:index
echo ${var:0-10} # 从后边第10个字符还是,获取到最后,返回:index.html
将字符串前面去3后面去2个字符:
var="###abcd1234##"
echo ${var:3:${#var}-5}
# abcd1234