Bash中的字符串截取

来源:互联网 发布:高燃清华知乎 编辑:程序博客网 时间:2024/05/11 03:07

 

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"

 

原创粉丝点击