shell 字符串

字符串相关操作

   字符串切片:
        ${string:offset:length}

    取尾部的指定个数的字符:
        ${string: -length}

    取子串:基于模式
        ${variable#*word}:在variable中存储字串上,自左而右,查找第一次出现word,删除字符开始至此word处的所有内容;
        ${variable##*word}:在variable中存储字串上,自左而右,查找最后一次出现word,删除字符开始至此word处的所有内容;
            file='/var/log/messages'
                ${file#*/}: 返回的结果是var/log/messages
                ${file##*/}: 返回messages

        ${variable%word*}: 在variable中存储字串上,自右而左,查找第一次出现word,删除此word处至字串尾部的所有内容;
        ${variable%%world*}:在variable中存储字串上,自右而左,查找最后一次出现word,删除此word处至字串尾部的所有内容;
            file='/var/log/messages'
                ${file%*/}: 返回的结果是/var/log
                ${file%%*/}: 返回结果为空

            phonenumber='010-110-8'
                ${phonenumber%%-*}
                ${phonenumber##*-}

            url="http://www.magedu.com:80"

    查找替换:
        ${variable/pattern/substi}: 替换第一次出现
        ${variable//pattern/substi}:替换所有的出现

        ${variable/#pattern/substi}:替换行首被pattern匹配到的内容
        ${variable/%pattern/substi}:    行尾

        pattern可以使用globbing中的元字符:
            *
            ?

    查找删除:
        ${variable/pattern}
        ${variable//pattern}
        ${variable/#pattern}
        ${variable/%pattern}

    大小写转换:
        小-->大:${variable^^}
        大-->小:${variable,,}

 


   

posted @ 2019-01-26 13:51  Coolc  阅读(408)  评论(0编辑  收藏  举报