shell编程学习

http://c.biancheng.net/view/819.html

shell-字符串的提取和替换:

想获取更详细的请参考此大神:https://www.cnblogs.com/nkwy2012/p/9171414.html
**

第一种模式:var:numshellvarnumnum0num使num{var:num},shell在var中提取第num个字符到末尾的所有字符。若num为正数,从左边0处开始;若num为负数,从右边开始提取字串,但必须使用在冒号后面加空格或一个数字或整个num加上括号,如var:numshellvarnumnum0num使num如{var: -2}、var:13{var:1-3}或var:13或{var:(-2)}。

第二种模式:var:num1:num2num1num2{var:num1:num2},num1是位置,num2是长度。表示从var:num1:num2num1num2从var字符串的第num1num1个位置开始提取长度为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

原文地址:https://www.cnblogs.com/cheyunhua/p/12060487.html