Calvin's Tech Space

          成于堅忍,毀于浮躁

             :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

          得到長度

          %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 , 只能用 * ? 的文件擴展方式。

          posted on 2010-09-24 21:21 calvin 閱讀(175) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 毕节市| 塔河县| 桓仁| 吕梁市| 青川县| 江川县| 敦煌市| 江油市| 德庆县| 广南县| 衡山县| 夏邑县| 长汀县| 赤峰市| 安康市| 万宁市| 望都县| 八宿县| 静乐县| 广昌县| 龙里县| 鸡西市| 广元市| 子长县| 托克托县| 邓州市| 元阳县| 皋兰县| 博客| 库尔勒市| 定兴县| 历史| 镇安县| 香格里拉县| 莱阳市| 乌兰浩特市| 易门县| 郯城县| 桦甸市| 甘洛县| 仙居县|