在shell程式設計中,經常要處理一些字串變數。比如,計算長度啊、擷取子串啊、字元替換啊等等,常常要用到awk、expr、sed、tr等命令。下面給大家介紹個簡單的字串處理方法,用不著巢狀複雜的子命令。
$:計算value字串的字元數量。
$或$:刪除value字串中以分隔符「.」匹配的右邊字元,保留左邊字元。
$或$:刪除value字串中以分隔符「.」匹配的左邊字元,保留右邊字元。
$或$:用new子串替換value字串中匹配的old子串。
補充:「*」表示萬用字元,用於匹配字串將被刪除的字串。「.」表示字串中分隔符,可以為任意乙個或多個字元。「%」表示從右向左匹配,「#」表示從左向右匹配,「\」表示替換,都屬於非貪婪匹配,即匹配符合萬用字元的最短結果。與「%」、「#」和「/」類似的有「%%」、「##」和「//」,都屬於貪婪匹配,即匹配符合萬用字元的最長結果。
$或$:從value字串的左邊開始中擷取子串。
$或$:從value字串的右邊開始中擷取子串。
補充:左邊第乙個字元從「0」開始,右邊第乙個字元從「0-1」開始。 表示偏移offset個字元開始,length表示要擷取字元的長度。如果沒有length變數,表示偏移offset個字元開始到字串結束。$:
當變數未定義或者值為空時,返回值為word的內容,否則返回變數的值。
$:當變數未定義或者值為空時,返回word的值的同時並將word
賦值給value,否則返回變數的值。
$:當變數
已賦值時,其值才用word替換,否則不進行任何替換。
$:當變數已賦值時,正常替換。否則將訊息message送到標準錯誤輸出(若
此替換出現在shell程式中,那麼該程式將終止執行)。
補充:word可以為乙個字串,也可以為乙個變數。當為變數時,需要用「$」引用該變數。
標籤:
shell,
linux
shell字串處理
一 構造字串 直接構造 str zero hello str first i am a string str second success 重複多次 repeat the first parm 1 by 2 times strrepeat 舉例 str repeat strrepeat user n...
shell 字串處理
一 號擷取,刪除左邊字元,保留右邊字元。echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.google.com test.htm 二 號擷取,刪除左邊字元,保留右邊字元。echo 表示從左邊開始刪除最後 最右邊 乙個 號及左...
SHELL字串處理
linux 的字串擷取很有用。有八種方法。假設有變數 var 1.號擷取,刪除左邊字元,保留右邊字元。複製 如下 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.aaa.com 123.htm 2.號擷取,刪除左邊字元,保...