现在有一任意长度的字符串,特征如下:最后一个为冒号(:),前面均为数字。
比如说:
123456:
56789:
哪位大虾能用shell截取出前面的数字啊?
谢谢。。shell新手,困扰N久了 。。
------解决方案--------------------------------------------------------
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
------解决方案--------------------------------------------------------
${string%substring} 从变量string的结尾, 删除最短匹配substring的子串
------解决方案--------------------------------------------------------
如果字符串中只有最后一个:,就可以这么干:
johndream.chen@debian:~$ teststr="123456:"
johndream.chen@debian:~$ echo ${teststr%%:*}
123456
johndream.chen@debian:~$