亚洲Aⅴ无码Av红楼在线观看_国产午夜福利涩爱AⅤ_国产sm调教一区二区三区_精品人妻一区二区三区不卡毛片

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

shell字符串處理

發(fā)布時間:  2012/9/15 20:37:16

字符串長度

  1. shell>echo ${#string}  
  2. shell>expr length $string  
  3. shell>expr "$string" : '.*'  

 

匹配字符串開頭的子串長度

  1. expr match "$string" '$substring'  
  2.      $substring 是一個正則表達式.  
  3. expr "$string" : '$substring'  

 

索引

  1. expr index $string $substring  

 

提取子串

  1. ${string:position}  
  2.      在$string 中從位置$position開始提取子串.  
  3.      如果$string 是"*"或者" @ ", 那么將會提取從位置$position開始的位置參數(shù). [1]  
  4. ${string:position:length}  
  5.      在$string 中從位置$position開始提取$length 長度的子串.  
  1. stringZ=abcABC123ABCabc  
  2. #       0123456789.....  
  3. #       0-based indexing.  
  4. echo ${stringZ:0}                     # abcABC123ABCabc  
  5. echo ${stringZ:1}                     # bcABC123ABCabc  
  6. echo ${stringZ:7}                     # 23ABCabc  
  7. echo ${stringZ:7:3}                   # 23A  
  8.                                        # 提取子串長度為3.  
  9. # 能不能從字符串的右邊(也就是結(jié)尾)部分開始提取子串?  
  10. echo ${stringZ:-4}                    # abcABC123ABCabc  
  11. # 默認是提取整個字符串, 就象${parameter:-default} 一樣.  
  12. # 然而 . . .  
  13. echo ${stringZ:(-4)}                  # Cabc  
  14. echo ${stringZ: -4}                   # Cabc 注意,":"右邊有一個空格!  
  15. # 這樣, 它就可以工作了.  
  16. # 使用圓括號或者添加一個空格可以"轉(zhuǎn)義"這個位置參數(shù).  


如果$string 參數(shù)是"*"或" @ ", 那么將會從$position位置開始提取 $length 個位置參數(shù), 但是由于
可能沒有$length 個位置參數(shù)了, 那么就有幾個位置參數(shù)就提取幾個位置參數(shù).

  1. echo ${*:2}  # 打印出第2個和后邊所有的位置參數(shù).  
  2. echo ${@:2}  # 同上.  
  3. echo ${*:2:3}  # 從第2個開始, 連續(xù)打印3個位置參數(shù).  

 

expr substr $string $position $length
     在$string 中從$position開始提取$length 長度的子串.

  1. echo `expr substr $stringZ 1 2`  
  2. echo `expr substr $stringZ 4 3`  


expr match "$string" '\($substring\)'
     從$string 的開始位置提取$substring , $substring 是正則表達式.
expr "$string" : '\($substring\)'
     從$string 的開始位置提取$substring , $substring 是正則表達式.
 

  1. stringZ=abcABC123ABCabc  
  2. #       =======  
  3. echo `expr match "$stringZ" '\(.[b-c]*[A-Z]..[0-9]\)'`  
  4. echo `expr "$stringZ" : '\(.[b-c]*[A-Z]..[0-9]\)'`  
  5. echo `expr "$stringZ" : '\(.......\)'`  
  6. # 上邊的每個echo 都打印出相同的結(jié)果.  abcABC1  



expr match "$string" '.*\($substring\)'
     從$string 的結(jié)尾提取$substring , $substring 是正則表達式.
expr "$string" : '.*\($substring\)'
     從$string 的結(jié)尾提取$substring , $substring 是正則表達式.

  1. expr match "$stringZ" '.*\([A-C][A-C][A-C][a-c]*\)'  
  2. ABCabc  
  3. expr "$stringZ" : '.*\(......\)'  
  4. ABCabc  


子串削除

  1. ${string#substring}  
  2.      從$string 的開頭位置截掉最短匹配的$substring .  
  3. ${string##substring}  
  4.      從$string 的開頭位置截掉最長匹配的$substring .  
  5.   
  6. ${string%substring}  
  7.      從$string 的結(jié)尾位置截掉最短匹配的$substring .  
  8. ${string%%substring}  
  9.      從$string 的結(jié)尾位置截掉最長匹配的$substring .  
  10.   
  11. echo ${stringZ%b*c}        # abcABC123ABCa  
  12. # 從$stringZ 的結(jié)尾位置截掉'b' 到'c' 之間最短的匹配.  
  13. echo ${stringZ%%b*c}     #a  
  14. # 從$stringZ 的結(jié)尾位置截掉'b' 到'c' 之間最長的匹配.  


當(dāng)你需要構(gòu)造文件名的時候, 這個操作就顯得特別有用.

子串替換

  1. ${string/substring/replacement}  
  2.      使用$replacement 來替換第一個匹配的$substring .  
  3. ${string//substring/replacement}  
  4.      使用$replacement 來替換所有匹配的$substring .  
  5.   
  6.   
  7. ${string/#substring/replacement}  
  8.      如果$substring 匹配$string 的開頭部分, 那么就用$replacement 來替換$substring .  
  9. ${string/%substring/replacement}  
  10.      如果$substring 匹配$string 的結(jié)尾部分, 那么就用$replacement 來替換$substring   
億恩-天使(530997) 電話 037160135991 服務(wù)器租用,托管歡迎咨詢
 

本文出自:億恩科技【www.allwellnessguide.com】

服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線