前言
在Linux shell编程中,我们经常需要截取某个字符串来,继续操作,比如:截取日期来创建整分钟的目录之类的。
字符截取
测试字符串
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用来处理字符串还是不习惯,但是不难!