#
在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 表示式擷取字串
解析 從左到右,從指定的下標開始擷取指定長度字元 從左到右,擷取從指定下標到字串最後的所有字元 從右到左,從指定的右側下標開始,往右擷取指定長度字元 從右到左,擷取從指定下標到右側最後的字元 從左到右,從字串第一次出現標識開始,擷取標識右邊所有的字元 從左到右,從字串最後一次出現標識開始,擷取標識右...
字串 表示式求值
不曾想到我居然還會寫這種部落格,然而自己是真的對這些模擬很噁心。這簡單,可以遞迴求解,遇到乙個符號,直接往下遞迴。這裡我的處理是有空格的,因此呢可以使用atof將字串轉化了double,atoi好像是轉化為int。include include include include include inc...
解析算術表示式字串
expression.cpp main project file.表示式計算 四則運算,只有整數,沒有括號,可以有空格。include stdafx.h include include class expression 計算,如果成功,返回空字串,結果儲存在result中,否則返回錯誤資訊。char...