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

 

posted @ 2020-04-23 17:37  七月流星雨  阅读(189)  评论(0编辑  收藏  举报