Linux shell字串操作(長度、尋找、替換)詳解

來源:互聯網
上載者:User

在做shell批次程式時候,經常會涉及到字串相關操作。
有很多命令語句,如:awk,sed都可以做字串各種操作。
其實shell內建一系列操作符號,可以達到類似效果,
大家知道,使用內部操作符會省略啟動外部程式等待時間,
因此速度會非常的快。
 
一、判斷讀取字串值
運算式              含義
${var}              變數var的值,與$var相同
${var-DEFAULT}      如果var沒有被聲明,那麼就以$DEFAULT作為其值
${var:-DEFAULT}     如果var沒有被聲明,或者其值為空白,那麼就以$DEFAULT作為其值
${var=DEAULT}       如果var沒有被聲明,那麼就以$DEFAULT作為其值
${var:=DEFAULT}     如果var沒有被聲明,或者其值為空白,那麼就以$DEFAULT作為其值
${var+OTHER}        如果var聲明了,那麼其職就是$OTHER,否則就為NULL字串
${var:+OTHER}       如果var被設定了,那麼其值就是$OTHER,否則就為NULL字串
${var?ERR_MSG}      如果var沒被聲明,那麼就列印$ERR_MSG
${var:?ERR_MSG}     如果var沒被設定,那麼就列印$ERR_MSG
${!varprefix*}      匹配之前所有以varprefix開頭進行聲明的變數
${!varprefix@}      匹配之前所有以varprefix開頭進行聲明的變數
 
二、字串操作(長度、讀取、替換)
${#string}                       $string的長度
${string:position}               在$string中,從位置$position開始提取子串
${string:position:length}        在$string中,從位置$position開始提取長度為$length的子串
${string#substring}              從變數$string的開頭,刪除最短匹配$substring的子串
${string##substring}             從變數$string的開頭,刪除最長相符$substring的子串
${string%substring}              從變數$string的結尾,刪除最短匹配$substring的子串
${string%%substring}             從變數$string的結尾,刪除最長相符$substring的子串
${string/substring/replacement}  使用$replacement,來代替第一個匹配的$substring
${string//substring/replacement} 使用$replacement,代替所有匹配的$substring
${string/#substring/replacement} 如果$string的首碼匹配$substring,那麼就用$replacement來代替匹配到的$substring
${string/%substring/replacement} 如果$string的尾碼匹配$substring,那麼就用$replacement來代替匹配到的$substring

本文出自“張立斌”
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.