写shell脚本时,免不了需要截图字符串,这里有几种截取字符串的方法供参考。
假设shell中有字符串变量:str=aabbccddeeffaabbccddeeff
代码如下:
echo ${str#*bb}
其中str是变量名,“#”是运算符,“#*bb”表示删除字符串“bb”第一次匹配位置左边的所有字符串,执行结果是:ccddeeffaabbccddeeff
使用如下代码:
echo ${str##*bb}
其中str是变量名,“##”是运算符,“##*bb”表示删除字符串“bb”最后一次匹配位置左边的所有字符串,执行结果是:ccddeeff
使用如下代码:
echo ${str%bb*}
其中str是变量名,“%”是运算符,“%bb*”表示删除字符串“bb”最右边一次匹配位置右边的所有字符串,执行结果是:aabbccddeeffaa
使用如下代码:
echo ${str%%bb*}
其中str是变量名,“%%”是运算符,“%bb*”表示删除字符串“bb”最左边一次匹配位置右边的所有字符串,执行结果是:aa
使用如下代码:
echo ${str:0:5}
其中0表示从左边开始第一个字符,5表示字符的总个数,执行结果是:aabbc
使用如下代码:
echo ${str:5}
其中7表示从左边开始第7个字符开始,直到结束,执行结果是:cddeeffaabbccddeeff
使用如下代码:
echo ${str:0-7:5}
其中0-7表示从右边第7个字符开始,5表示取5个字符,执行结果是:cddee
使用如下代码:
echo ${str:0-7}
其中0-7表示从右边第7个字符开始,直到结束,执行结果是:cddeeff