shell中的字符串处理
shell代码
#!/bin/bash
var1 = xyzaaxyzaafff
var11 = aaxxxxxffzaafff
echo "英文变量var1的长度=${# var1} "
var2 = "中文长度"
echo "中文字符长度=${# var2} "
echo "${var1: 2} "
echo "从第3个字符开始,连续取三个字符:${var1: 2: 3} "
echo "从左边删除最小匹配:x*a,结果为:${var1# x*a} "
echo "从左边删除最大匹配:x*a,结果为:${var1## x*a} "
echo "替换aa子串为1234,结果:${var1/ aa/ 1234/ } "
echo "替换aa子串为1234,结果:${var1/ / aa/ 1234/ } "
echo "替换aa子串为为空,结果:${var1/ / aa/ } "
echo "var11替换aa子串为你好,结果:${var11/ # aa/ 你好} "
var3 =
echo "使用短橫线默认值,var3变量的值:${var3-xyz} "
echo "使用冒号短横线默认值,var3变量的值:${var3:- xyz} "
var4 =
echo "var4空不空与var3相反,var4变量的值:${var3+xyz} "
echo "var4空不空与var3相反,var4变量的值:${var3:+ abc} "
执行结果
[ root@KS8P-Test-K8S01 ~]
英文变量var1的长度= 13
中文字符长度= 4
zaaxyzaafff
从第3个字符开始,连续取三个字符:zaa
从左边删除最小匹配:x*a,结果为:axyzaafff
从左边删除最大匹配:x*a,结果为:fff
替换aa子串为1234,结果:xyz1234/xyzaafff
替换aa子串为1234,结果:xyz1234/xyz1234/fff
替换aa子串为为空,结果:xyzxyzfff
var11替换aa子串为你好,结果:你好xxxxxffzaafff
使用短橫线默认值,var3变量的值:
使用冒号短横线默认值,var3变量的值:xyz
var4空不空与var3相反,var4变量的值:xyz
var4空不空与var3相反,var4变量的值: