美文网首页
Shell 字符串截取 & 拼接

Shell 字符串截取 & 拼接

作者: 勤奋的大头怪 | 来源:发表于2020-05-20 15:23 被阅读0次

    设变量str="https://en.wikipedia.org/wiki/Unix_shell"

    截取操作符 # 删除左边字符串,保留右边字符串。

    $ echo ${str#*//}
    en.wikipedia.org/wiki/Unix_shell
    $ echo ${str##*//}
    en.wikipedia.org/wiki/Unix_shell
    
    $ echo ${str#*/}*
    /en.wikipedia.org/wiki/Unix_shell
    $ echo ${str##*/}
    Unix_shell
    

    从上面的测试可以看出
    ${str#*/} 从左边开始删除到第一个"//"符号以及左边的所有字符串。
    ${str##*/} 从左边开始删除到最后一个"/"符号以及左边的所有字符串。

    截取操作符% 删除右边的字符串,保留左边的字符串。

    $ echo ${str%/*}
    https://en.wikipedia.org/wiki
    $ echo ${str%%/*}
    https:
    $ echo ${str%//*}
    https:
    $ echo ${str%%//*}5
    https:
    

    ${str%/*} 从右边开始删除到第一个"/"符号以及右边的所有字符串。
    ${str%%/*} 从右边开始删除到最后一个"/"符号以及右边的所有字符串。

    指定区间的截取${str:m:n} - 从左边第m个字符(左边第一个下标为0)开始,到左边的第n个字符。

    $ echo ${str:0:6}
    https:
    $ echo ${str:2:6}
    tps://
    

    ${str:m} - 从左边第m个字符开始,到最右边的所有字符串。

    $ echo ${str:6}
    //en.wikipedia.org/wiki/Unix_shell
    

    ${str:m-n:x} - 从右边的第(n-m)个字符开始,到右边的x个字符串。

    $echo ${str:1-6:5}
    shell
    

    ${str:m-n} - 从右边的第(n-m)个字符开始,直到右边结束。

    echo ${str:1-6}
    shell
    

    如果设置m为0的话,就表示从右边第n个字符开始(右边的第一个字符表示为 0-1)。

    设变量 str="hello"
    如在字符串str后边拼接一个字符串

    $ echo ${str}" world"
    hello world
    

    如拼接2个字符串

    $ str1="world"
    $ echo ${str}${str1}
    helloworld
    

    关于shell字符串截取和拼接的简单操作大致如此。

    相关文章

      网友评论

          本文标题:Shell 字符串截取 & 拼接

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