linux 字符串操作

在做shell批處理程序時候,經常會涉及到字符串相關操作。有很多命令語句,如:awk,sed都可以做字符串各種操作。 其實shell內置一系列操作符號,使用內部操作符會省略啓動外部程序等時間,因此速度會非常的快。

一、讀取

 

${var} 變量var的值, 與$var相同
${!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


三、字符串查找

expr index $string $substring
匹配到子串的第一個字符的位置.

expr index $string '123'    //字符串對應的下標是從1開始的

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章