Bash中的字符串截取

1. 按子串分割截取

${varible#*string}               从左往右,删除最短的一个以string结尾的子串,即截取第一个string子串之后的字符串

${varible##*string}             从左往右,删除最长的一个以string结尾的子串,即截取最后一个string子串之后的字符串

${varible%string*}              从右往左,删除最短的一个以string开头的子串,即截取最后一个string子串之前的字符串

${varible%%string*}          从右往左,删除最长的一个以string开头的子串,即截取第一个string子串之前的字符串

 例如:

export TEST=123abc456abc789

echo ${TEST#*abc}          ===>删掉123abc剩下456abc789

echo ${TEST##*abc}       ===>删掉123abc456abc剩下"789

echo ${TEST%abc*}        ===>删掉abc789剩下123abc456

echo ${TEST%%abc*}    ===>删掉abc456abc789剩下123

 2. 固定位置截取

${varible:start:len}:截取变量varible从位置start开始长度为len的子串。第一个字符的位置为0。

 例如:

 export TEST=123abc456abc789

echo ${TEST:0:3}          ===>"123"

echo ${TEST:3:3}           ===>"abc"

posted @ 2015-05-31 09:13  _DongGe  阅读(483)  评论(0编辑  收藏  举报