1. 变量子串的常用操作
常用操作如下表:
依次举例说明:
定义aa变量,内容为"I am scajy" [root@1-241 script]# aa="I am scajy" [root@1-241 script]# echo $aa I am scajy
1、返回字符串aa变量字符串的长度
[root@1-241 ~]# echo ${#aa} 10
2、截取aa变量字符串从第2个字符之后开始取,默认取后面字符的全部,第2个字符不包含在内也可理解为删除前面的多少个字符
[root@1-241 ~]# echo ${aa:2} am scajy
3、截取aa变量字符串从第2个字符之后开始取,取两个字符
[root@1-241 ~]# echo ${aa:2:2} am 提示:类似cut -c 参数 [root@1-241 ~]# echo ${aa} |cut -c 1-4 I am [root@1-241 ~]# echo ${aa} |cut -c 3-4 am
4、从变量aa开头开始删除最短匹配"I am“ 子串
[root@1-241 ~]# echo ${aa#I} am scajy [root@1-241 ~]# aa="I am scajy I am" [root@1-241 ~]# echo ${aa#I am} scajy I am [root@1-241 ~]# echo ${aa##I am} scajy I am
5、从变量aa开头开始删除最短匹配"I am“ 子串
[root@1-241 ~]# echo ${aa##I am sc} ajy I am
6、从变量aa结尾开始删除最短匹配 scajy子串
[root@1-241 ~]# echo ${aa%scajy} I am
7、从变量aa结尾开始删除最长匹配 scajy子串
[root@1-241 ~]# aa="I am scajy scajy" [root@1-241 ~]# echo ${aa%scajy} I am scajy [root@1-241 ~]# echo ${aa%%scajy} I am scajy
8、使用520字符串,来代替变量aa第一个匹配的I字符串
[root@1-241 ~]# aa="I I am scajy" [root@1-241 ~]# echo ${aa/I/520} 520 I am scajy
9、使用520字符串,来代替变量aa结尾开始匹配的I字符串
[root@1-241 ~]# aa="I I am scajy" [root@1-241 ~]# echo ${aa/%scajy/520} I I am 520
10、使用520 1314 字符串,来代替从变量aa开头开始匹配的I am字符串
[root@1-241 ~]# aa="I I am scajy" [root@1-241 ~]# echo ${aa/I I am/520 1 314} 520 1 314 scajy
11、使用520 1314 字符串,来全部替换变量aa开头开始匹配的I am 字符串
[root@test-1 scripts]# aa="I am scajy,I am scajy,I am scajy,I am scajy " [root@test-1 scripts]# echo ${aa//I am/520 1314} 520 1314 scajy,520 1314 scajy,520 1314 scajy,520 1314 scajy