你的位置:首页 > 操作系统

[操作系统]shell字符串的截取


1、变量 var 从 npos ∈ [0, length-1] 位开始,从左->右截取 num 个字符:

    ${var:npos:num}

    小结:若 npos < 0 则结果为 var 原值;

       若 npos > length(var) - 1 则结果为空串;

       若实际满足字符不足 num 位,则按实际字符返回。

2、变量 var 按指定字符串 string {第一次出现,最后一次出现},向前/向后开始截取:

    ${var##*string}      # 从左->右,最后一个string开始截取    

    ${var#*string}      # 从左->右,第一个string开始截取

    ${var%%string*}      # 从右->左,最后一个string开始截取

    ${var%string*}      # 从右->左,第一个string开始截取

    小结:对于#截取符,通配符*于string左边,遵循从左向右截取;

        对于%截取符,通配符*于string右边,遵循从右向左截取;

       单个截取符表示第一次出现位置,双截取符表示最后一次出现位置。

3、有空再总结其它方式。。。。。。