Bash脚本里面的string操作

1. string长度

# test.sh
hello=world
echo "hello's length:" ${#hello}

$ ./test.sh
hello's length: 5

2. substr

#!/bin/bash

hello=world
echo "hello的子串一:" ${hello:1}
echo "hello的子串一:" ${hello:1:3}


$ ./test.sh
hello的子串一: orld
hello的子串一: orl

3. 删除最小匹配子串

#! /bin/bash

filename="front.middle.back"

# 从前面开始匹配,删除最短匹配
echo ${filename#*.}
# 从后面开始匹配,删除最短匹配
echo ${filename%.*}


$ ./shortest-match.sh
middle.back
front.middle

4. 删除最长匹配


#! /bin/bash

filename="front.middle.back"

# 从前面开始匹配,删除最长匹配
echo ${filename##*.}
# 从后面开始匹配,删除最长匹配
echo ${filename%%.*}


$ ./longest-match.sh
back
front


5. 替换string中的一段


#!/bin/bash

filename="front.middle.back.middle.back"
echo "只替换第一个middle:" ${filename/middle/abcd}
echo "替换所有middle:" ${filename//middle/abcd}
echo "只替换在开头出现的front:" ${filename/#front/abcd}
echo "只替换在结尾出现的back:" ${filename/%back/abcd}


$ ./replacement.sh
只替换第一个middle: front.abcd.back.middle.back
替换所有middle: front.abcd.back.abcd.back
只替换在开头出现的front: abcd.middle.back.middle.back
只替换在结尾出现的back: front.middle.back.middle.abcd

转载于:https://my.oschina.net/jamesxu/blog/15227

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值