Linux Bash Shell字符串分割substring等

近期在做持续集成项目,因为要做高使用性的平台,公司项目组各业务线打包流程不尽相同,采用了业务藏入脚本的方式,原有java可实现的操作写入了脚本中

脚本开发中遇到的问题是:原java中的字符串分割操作(substring indexOf等)不知道怎么处理(比如/a/b/c/d.txt我想知道文件的名称)

查询相关资料得知,shell中可以采用标识符来做分割字符串,包括substring(0,index)和substring(index,last)

${var#*substr}会删除从0到substr子字符串最后出现的位置

${var##*substr}会删除substr开始到字符串结束的位置

${var%substr*}会删除字符串最后一次出现到字符串结束的位置的部分

${var%%substr*}会删除字符串第一次出现到结束的部分

a="/a/b/c/d.txt"
b="/"
echo ${a#*$b}
会返回

a/b/c/d.txt


a="/a/b/c/d.txt"
b="/"
echo ${a##*$b}

会返回

d.txt

a="/a/b/c/d.txt"
b="/"
echo ${a%$b*}
会返回

/a/b/c


a="/a/b/c/d.txt"
b="/"
echo ${a%%$b*}

会返回空







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值