变量子串的常用操作
更新:HHH   时间:2023-1-7


  • ${#string}      返回$string的长度

  • ${string:position}      在$string中,从位置$position之后开始提取子串

  • $(string:position:length)    在$string中,从位置$position之后开始提取长度为$length的子串

  • ${string#substring}      从变量$string开头开始删除最短匹配$substring子串

  • $(string##substring)      从变量$string开头开始删除最长匹配$substring子串

  • ${string%substring}      从变量$string结尾开始删除最短匹配$substring子串

  • ${string%%substring}    从变量$string结尾开始删除最长匹配$substring子串

  • ${string/substring/replace}      使用$replace,来代替第一个匹配的$substring

  • ${string/#substring/replace}   如果$string前缀匹配$substring,就用$replace来代替匹配$substring


依次举例说明:

定义xcn变量,内容为“i am xcn”

[root@XCN ~]# xcn="i am xcn"
[root@XCN ~]# echo ${xcn}
i am xcn

1)返回字符串xcn变量字符串的长度

[root@XCN ~]# echo ${#xcn}
8

思路 : echo $xcn|wc -m

[root@XCN ~]# echo $xcn|wc -L
8


2)截取xcn变量字符串从第2个字符之后开始截取,默认取后面字符的全部,第2个字符不包含在内。也可理解为删除前面的多少个字符。

[root@XCN ~]# echo ${xcn:2}
am xcn

3)截取xcn变量字符串从第2个字符之后开始取,取两个字符

[root@XCN ~]# echo ${xcn:2:2}
am

提示:类似cut -c参数
[root@XCN ~]# echo ${xcn}|cut -c 1-4
i am
[root@XCN ~]# echo ${xcn}|cut -c 3-4 
am

4)从变量$xcn开头开始删除最短匹配"i am"子串

[root@XCN ~]# echo ${xcn#i am}
xcn

5)从变量$xcn开头开始删除最长匹配"i am old"子串

[root@XCN ~]# echo ${xcn##i am x}  
cn

6)从变量$xcn结尾开始删除最短匹配xcn子串

[root@XCN ~]# echo ${xcn%xcn}
i am
[root@XCN ~]# echo ${xcn#i am} 
xcn

7)从变量$xcn结尾开始删除最长匹配boy子串

[root@XCN ~]# echo ${xcn%%xcn} 
i am

8)使用baishuchao字符串,来替换变量xcn第一个匹配的xcn字符串

[root@XCN ~]# echo ${xcn/xcn/baishuchao}
i am baishuchao

10)使用he is 字符串,来代替从变量$xcn开头开始匹配的i am字符串

[root@XCN ~]# echo ${xcn/#i am/he is}   
he is xcn
提示:统一规律 #从开头开始 ,%从结尾开始



















返回开发技术教程...