**
shell-字符串的提取和替换:
想获取更详细的请参考此大神:https://www.cnblogs.com/nkwy2012/p/9171414.html
**
第一种模式: v a r : n u m , s h e l l 在 v a r 中 提 取 第 n u m 个 字 符 到 末 尾 的 所 有 字 符 。 若 n u m 为 正 数 , 从 左 边 0 处 开 始 ; 若 n u m 为 负 数 , 从 右 边 开 始 提 取 字 串 , 但 必 须 使 用 在 冒 号 后 面 加 空 格 或 一 个 数 字 或 整 个 n u m 加 上 括 号 , 如 {var:num},shell在var中提取第num个字符到末尾的所有字符。若num为正数,从左边0处开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,如 var:num,shell在var中提取第num个字符到末尾的所有字符。若num为正数,从左边0处开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,如{var: -2}、 v a r : 1 − 3 或 {var:1-3}或 var:1−3或{var:(-2)}。
第二种模式: v a r : n u m 1 : n u m 2 , n u m 1 是 位 置 , n u m 2 是 长 度 。 表 示 从 {var:num1:num2},num1是位置,num2是长度。表示从 var:num1:num2,num1是位置,num2是长度。表示从var字符串的第 n u m 1 个 位 置 开 始 提 取 长 度 为 num1个位置开始提取长度为 num1个位置开始提取长度为num2的子串。不能为负数。
第三种模式:${var/pattern/pattern}表示将var字符串的第一个匹配的pattern替换为另一个pattern。
第四种模式:${var//pattern/pattern}表示将var字符串中的所有能匹配的pattern替换为另一个pattern。
[root@centos ~]# var=/home/centos
[root@centos ~]# echo $var
/home/centos
[root@centos ~]# echo ${var:5}
/centos
[root@centos ~]# echo ${var: -6}
centos
[root@centos ~]# echo ${var:(-6)}
centos
[root@centos ~]# echo ${var:1:4}
home
[root@centos ~]# echo ${var/o/h}
/hhme/centos
[root@centos ~]# echo ${var//o/h}
/hhme/cenths