shell字符串处理大全

作者: quan575 | 来源:发表于2017-08-16 17:32 被阅读23次

    使用#%截取字符串

    记住# $ % 这3个字符在键盘上的位置
    # 在 $ 的左边,从左边开始数
    % 在 $的右边,从右边开始数

    ${varible##*string}    #从左向右截取最后一个string后的字符串
    ${varible#*string}     #从左向右截取第一个string后的字符串
    ${varible%%string*}    #从右向左截取最后一个string后的字符串
    ${varible%string*}     #从右向左截取第一个string后的字符串
    “*”只是一个通配符可以不要
    # 例子:
    MYVAR="food|forthought.jpg"
    echo ${MYVAR##*fo}   # rthought.jpg
    echo ${MYVAR#*fo}    # od|forthought.jpg
    echo ${MYVAR%%fo*}   #
    echo ${MYVAR%fo*}    #food|
    

    使用位置与长度截取${str:index:length}

    ${varible:n1:n2}:  从左边数截取变量varible从n1到n2之间的字符串。
    ${varible:0-n1:n2}:从右边数截取变量varible从n1到n2之间的字符串。
    MYVAR="food|forthought.jpg"
    echo ${MYVAR:0:3}    #foo
    echo ${MYVAR:3}      #d|forthought.jpg
    echo ${MYVAR:0-3:2}  #jp
    echo ${MYVAR:0-3}    #jpg
    

    字符串替换${str/oldChar/newChar}

    str=/home/log/logs/err.log.2017-12-05
    echo ${str/log/xxx}  #:将第一个log替换为xxx
    #/home/log/logs/err.log.2017-12-05
    
    echo ${str//log/xxx}  #: 将全部log替换为xxx
    #/home/admin/xxxs/err.xxx.2017-12-05
    

    相关文章

      网友评论

        本文标题:shell字符串处理大全

        本文链接:https://www.haomeiwen.com/subject/rmtwrxtx.html