shell ${string} 中字符串处理

一,字符串的截取

1,从待处理字符串左边开始数起,截掉发现的第一个匹配字符或匹配字符串及其左边内容的操作。

格式1,${"待处理字符串"+"#"+"*"+"匹配字符"}

格式2,${"待处理字符串"+"#"+"*"+"匹配字符串"}

示例1 如果string="/home/user/dir1/dir2/test.txt"

value=${string#*/}

value得到的结果:home/user/dir1/dir2/test.txt

示例2 如果string="---123---456--789"

value=${string#*---}

value得到的结果:123---456---789

2,从待处理字符串左边开始数起,截掉发现的最后一个匹配字符或匹配字符串及其左边内容的操作。

格式1,${"待处理字符串"+"##"+"*"+"匹配字符"}

格式2,${"待处理字符串"+"##"+"*"+"匹配字符串"}

示例1 如果string="/home/user/dir1/dir2/test.txt"

value=${string#*/}

value得到的结果:test.txt

示例2 如果string="---123---456---789"

value=${string##*---}

value得到的结果:789

3,从待处理字符串右边开始数起,截掉发现的第一个匹配字符或匹配字符串及其右边内容的操作。

格式1,${"待处理字符串"+"%"+"匹配字符"+"*"}

格式2,${"待处理字符串"+"%"+"匹配字符串"+"*"}

示例1 如果string="/home/user/dir1/dir2/test.txt"

value=${string%/*}

value得到的结果:/home/user/dir1/dir2

示例2 如果string="---123---456---789"

value=${string%---*}

value得到的结果:---123---456

4,从待处理字符串右边开始数起,截掉发现的最后一个匹配字符或匹配字符串及其右边内容的操作。

格式1,${"待处理字符串"+"%%"+"匹配字符"+"*"}

格式2,${"待处理字符串"+"%%"+"匹配字符串"+"*"}

示例1 如果string="root/home/user/dir1/dir2/test.txt"

value=${string%%/*}

value得到的结果:root

示例2 如果string="000---123---456---789"

value=${string%%---*}

value得到的结果:000

二,字符串的提取

从待处理字符串中提取自m 下标开始的 n 个字符。

格式:${"待处理字符串"+":"+"m"+":"+"n"}

示例1 如果string="123456789"

value=${string:0:3}

value得到的结果:123

示例2 如果string="102030405060"

value=${string:1:5}

value得到的结果:02030

三,字符串的替换

1,从待处理字符串左边开始数起,将待处理字符串string 中出现的第一个 dir 被替换为 path。

格式: ${string/dir/path}

示例 如果string="/home/user/dir1/dir2/test.txt"

value=${string/dir/path}

value得到的结果:/home/user/path1/dir2/test.txt

2,将待处理字符串string 中出现的所有 dir 被替换为 path。

格式: ${string//dir/path}

示例 如果string="/home/user/dir1/dir2/test.txt"

value=${string//dir/path}

value得到的结果:/home/user/path1/path2/test.txt

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值