shell-变量的字串应用技术
 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
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号