Calvin's Tech Space

          成于堅忍,毀于浮躁

             :: 首頁 :: 聯系 :: 聚合  :: 管理

          得到長度

          %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 閱讀(178) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 漾濞| 靖西县| 龙泉市| 临湘市| 阜宁县| 兴仁县| 新巴尔虎右旗| 平顶山市| 上犹县| 新化县| 德钦县| 高碑店市| 同江市| 米林县| 罗江县| 内乡县| 怀宁县| 阿拉善盟| 黄浦区| 马边| 三原县| 紫金县| 嵊州市| 子洲县| 攀枝花市| 长沙县| 长治市| 利川市| 东乌珠穆沁旗| 临洮县| 凤城市| 丹寨县| 桓仁| 治县。| 安乡县| 宁陕县| 区。| 泽库县| 乃东县| 兰坪| 澎湖县|