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"

 

发布了28 篇原创文章 · 获赞 4 · 访问量 10万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览