1.计算字符串长度
${#string}
expr length $string
实例
第一种:
var1="hello world"
var2=${#var1}
echo $var2 结果:11
第二种:
var3=`expr length "$var1"`
echo $var3 结果:11
错误实例
注意符号:
var3=expr length $var1
2.抽取字符串中子串
${string:position}---------------------------------------从position开始直接到结尾
${string:position:length}----------------------------- 从position开始数length长度
${string: -position}-------------------------------------从右边开始匹配,然后到结尾
expr substr $string position length
var4="0123456789"
var9=${var4:3}
echo $var9 结果为:3456789
var9=${var4:3:2}
echo $var9 结果为:34
var9=${var4: -3}
echo $var9 结果为:789
var9=`expr substr $var4 3 2`
echo $var9 结果为:23
注意:
- ${string:position:length} 从索引为0开始,0,1,2,3
- expr substr $string position length 从1开始,1,2,3
- position:就可以理解为索引
3.替换字符串
${var/oldstr/newstr}------这个只能替换第一个
${var//oldstr/newstr}------这个可以替换所有
实例
var1="Bigdata process framework is Hadoop,Hadoop is an open source project"
var2=${var1/Hadoop/Man}
echo $var2
var3=${var1//Hadoop/Man}
echo $var3
# Bigdata process framework is Man,Hadoop is an open source project
# Bigdata process framework is Man,Man is an open source project