shell-字符串的提取和替换

**

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:numshellvarnumnum0num使num{var: -2}、 v a r : 1 − 3 或 {var:1-3}或 var:13{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:num2num1num2var字符串的第 n u m 1 个 位 置 开 始 提 取 长 度 为 num1个位置开始提取长度为 num1num2的子串。不能为负数。

第三种模式:${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

你可能感兴趣的:(shell)