测试字符串
var=1234567890abcedef1203
1、使用#截取0以后的内容
echo ${var#*0}
结果:abcedef1203
#表示操作符,*0表示从左往右找到第一个0,截取0之后的所有字符
echo ${var##*0}
结果:3
#表示操作符,*0表示从右往左找到第一个0,截取0之后的所有字符
2、使用%截取
echo ${var%0*}
结果:1234567890abcedef12
%表示操作符,0*表示从右往左找到第一个0,截取0之前的所有字符
echo ${var%%0*}
结果:123456789
%表示操作符,0*表示从左往右找到第一个0,截取0之前的所有字符
3、根据索引来截取
echo ${var:0:7}
结果:1234567
其中的 0 表示左边第一个字符开始,7 表示字符的总个数。
echo ${var:7:5}
结果:890ab
其中的 7 表示左往右第七个字符开始,5 表示字符的个数。
echo ${var:0-7:5}
结果:def12
其中的 0-7 表示右往左第七个字符开始,5 表示字符的个数。
echo ${var:0-7}
结果:def1203
如果不加字符个数就截取剩下的所有字符
总结
shell用来处理字符串还是不习惯,但是不难!
本文详细介绍了在Shell脚本中如何使用不同的操作符和方法来截取字符串,包括使用#和%操作符进行特定字符的截取,以及通过索引进行精确截取,适合初学者快速掌握。
244

被折叠的 条评论
为什么被折叠?



