字符串處理工具
先設立var變量值爲/etc/sysconfig/message
]#var=/etc/sysconfig/message
]#echo $var
/etc/sysconfig/message
1、字符串切片
${var:offset:number} 取var變量中的字符串中的字符,offset自左往右第幾個字符開始默認0爲第一個,number爲要取的個數。
${var:5:9} 左邊第5個字符開始,取9個字符,結果爲sysconfig。
${var: -lengh}取字符串最右的lengh個字符
${var: -7} 取字串最右邊的7個字符,結果爲message。
2、基於模式取子串
${var#*word} 自左往右,刪除字符開頭至第一次出現word(包括word)之間的所有字符。
${var#*s} /etc/sysconfig/message,自左往右,刪除從開頭至第一個s出現(包括s)之間的所有數據。
結果就成了ysconfig/message
${var##*word} 自左往右,刪除字符開頭至最後一次出現word(包括word)之間的所有字符
${var##*s} /etc/sysconfig/message,自左往右,刪除從開頭至第一個s出現(包括s)之間的所有數據。
結果就成了age
${var%word*} 自右往左,刪除字符開頭至第一次出現word之間的所有字符。
${var%%s*} /etc/sysconfig/message,自右往左,刪除從開頭至第一個s出現(包括s)之間的所有數據。結果就成了/etc/sysconfig/mes
${var%%word*} 自右往左,刪除字符開頭至最後一次出現word之間的所有字符。
${var%%s*} /etc/sysconfig/message,自右往左,刪除從開頭至第一個s出現(包括s)之間的所有數據。結果就成了/etc/
3、查找替換
${var/pattern/substi} 查找var所表示的字符串中第一次能被pattern所匹配的字符串,用substi替換
${var//pattern/substi} 查找var所表示的字符串中所有能被pattern所匹配的字符串,用substi替換
${var/#pattern/substi} 查找var所表示的字符串中首行能被pattern所匹配的字符串,用substi替換
${var/%pattern/substi} 查找var所表示的字符串中尾行能被pattern所匹配的字符串,用substi替換
4、查找並刪除
${var/parttern} 刪除var所表示的字符串中,第一次能被parttern所匹配的字符串。
${var/parttern} 刪除var所表示的字符串中,刪除所有能被parttern所匹配的字符串。
${var/#parttern} 刪除var所表示的字符串中,首行能被parttern所匹配的字符串。
${var/%parttern} 刪除var所表示的字符串中,尾行能被parttern所匹配的字符串。
5、字符大小寫轉換
${var^^} 把var中所有小寫字符轉換成大寫字符。
${var,,} 把var中所有大寫字符轉換成小寫字符。
6、變量賦值
${var:-value} 如果var變量設置爲空或未設置,則返回value的值,否則返回var變量的值
${var:+value} 如果var變量設置不爲空,則返回value的值
${var:=value} 如果var變量爲空,則設置var變量的值爲value,否則返回var變量的值
${var:?error_info} 如果var變量爲空,則報錯誤信息error_info,否則返回var變量的值