• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            BASH 中的字符串處理

            Posted on 2010-01-14 16:32 Prayer 閱讀(147) 評論(0)  編輯 收藏 引用 所屬分類: Shell
            得到長度

            %x="abcd"
            #方法一
            %expr length $x
            4
            # 方法二
            %echo ${#x}
            4
            # 方法三
            %expr "$x" : ".*"
            4
            # expr 的幫助
            # STRING : REGEXP   anchored pattern match of REGEXP in STRING

            查找子串

            %expr index  $x "b"
            2
            %expr index  $x "a"
            1
            %expr index  $x "b"
            2
            %expr index  $x "c"
            3
            %expr index  $x "d"
            4

            得到子字符串

            # 方法一
            # expr <string> startpos length
            %expr substr "$x" 1 3
            abc
            %expr substr "$x" 1 5
            abcd
            %expr substr "$x" 2 5
            bcd
            # 方法二
            # ${x:pos:lenght}
            %echo ${x:1}
            bcd
            %echo ${x:2}
            cd
            %echo ${x:0}
            abcd
            %echo ${x:0:2}
            ab
            %pos=1
            %len=2
            %echo ${x:$pos:$len}
            bc

            匹配正則表達式

            # 打印匹配長度
            %expr match $x "."
            1
            %expr match $x "abc"
            3
            %expr match $x "bc"
            0

            字符串的掐頭去尾

            %x=aabbaarealwwvvww
            %echo "${x%w*w}"
            aabbaarealwwvv
            %echo "${x%%w*w}"
            aabbaareal
            %echo "${x##a*a}"
            lwwvvww
            %echo "${x#a*a}"
            bbaarealwwvvww

            其中 , # 表示掐頭, 因為鍵盤上 # 在 $ 的左面。
            其中 , % 表示%,  因為鍵盤上 % 在 $ 的右面。
            單個的表示最小匹配,雙個表示最大匹配。
            也就是說,當匹配的有多種方案的時候,選擇匹配的最大長度還是最小長度。

            字符串的替換

            %x=abcdabcd
            %echo ${x/a/b} # 只替換一個
            bbcdabcd
            %echo ${x//a/b} # 替換所有
            bbcdbbcd

            不可以使用 regexp , 只能用 * ? 的文件擴展方式。

            久久精品国产91久久综合麻豆自制| 精品久久人人做人人爽综合| 99久久精品免费看国产一区二区三区| 伊人色综合久久天天人守人婷| 久久99精品久久久久久久久久| 亚洲狠狠综合久久| 久久人人爽人人爽人人片AV不 | 久久频这里精品99香蕉久| 久久天天躁狠狠躁夜夜躁2O2O| 国产精品久久久久久久午夜片 | 亚洲成色www久久网站夜月| 久久se精品一区精品二区| 久久SE精品一区二区| 国产精品久久久久乳精品爆| 久久精品国产亚洲AV久| 久久91这里精品国产2020| 久久精品国产亚洲AV嫖农村妇女| 麻豆久久久9性大片| 国产巨作麻豆欧美亚洲综合久久| 久久大香香蕉国产| 狠狠精品久久久无码中文字幕| 久久久不卡国产精品一区二区 | 国内精品久久久久影院老司| 国产香蕉97碰碰久久人人| 97精品伊人久久久大香线蕉| 久久精品国产亚洲AV香蕉| 亚洲熟妇无码另类久久久| 一本色道久久88综合日韩精品| 国产激情久久久久影院| Xx性欧美肥妇精品久久久久久 | 久久久噜噜噜久久熟女AA片| 久久亚洲sm情趣捆绑调教| 亚洲欧美日韩精品久久亚洲区 | 久久国产精品成人免费| 国产精品毛片久久久久久久| 国产精品久久亚洲不卡动漫| 人人狠狠综合久久亚洲婷婷| 国产精品99久久不卡| 久久精品无码免费不卡| 深夜久久AAAAA级毛片免费看| 久久无码精品一区二区三区|