标签:shell
变量子串的常用操作
${#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/ubstring/replace} 从变量$replace,来替代第一个匹配的$substring
${string/#substring/replace} 如果$string 前缀匹配$substring,就用$replace来代替匹配$substring
${string/%substring/replace} 如果$string 后缀匹配$substring,就用$replace来代替匹配$substring
1、返回字符串caimz变量字符串的长度
[root@PXE shell_scrpit]# caimz="I am a boy"
[root@PXE shell_scrpit]# echo $caimz
I am a boy
[root@PXE shell_scrpit]# echo ${#caimz} #查字符串的个数
10
[root@PXE shell_scrpit]# echo $caimz|wc -m
11
2、截取caimz的变量字符串从第二个字符之后开始截取,默认去后面的字符的全部,第二个字符串不包含在内,也
可以理解为删除前面的多个字符。
[root@PXE shell_scrpit]# echo ${caimz:2}
am a boy
3、截取caimz变量字符串从第二个字符串之后开始取,去两个字符
[root@PXE shell_scrpit]# echo ${caimz}
I am a boy
[root@PXE shell_scrpit]# echo ${caimz:2:2}
am
或者
[root@PXE shell_scrpit]# echo ${caimz} |cut -c 3-4
am
4、从变量$caimz开头开始删除最短匹配 “I am”子串
[root@PXE shell_scrpit]# echo ${caimz#I am}
a boy
5、从变量$caimz开头开始删除最长匹配"I am a"子串
[root@PXE shell_scrpit]# echo ${caimz##I am a}
boy
6、从变量$caimz结尾开始删除最短匹配boy子串
[root@PXE shell_scrpit]# echo ${caimz%boy}
I am a
7、从变量$caimz结尾开始删除最短长配boy子串
[root@PXE shell_scrpit]# echo ${caimz%%boy}
I am a
8、使用You are字符串来替代$caimz第一匹配 I am字符串
[root@PXE shell_scrpit]# echo ${caimz/boy/man}
I am a man
9、使用man字符串,来替代从变量$caimz结尾开始匹配的boy字符串
[root@PXE shell_scrpit]# echo ${caimz/%boy/dog}
I am a man
10、使用He is字符串,来替代从变量$caimz开头开始匹配的I am字符串
[root@PXE shell_scrpit]# echo ${caimz/I am/You are}
You are a boy
标签:shell
原文地址:http://caimengzhi.blog.51cto.com/9787265/1728643