Linux Shell 字符串截取

Shell 調用java程序返回的內容較多,想要獲取正確的返回內容,通常需要截取。

假設有變量 VAR='DSADASD{"name":"123","age":"20"}sssslog4j warndasdasdasd'

json串是我們需要的內容

1. # 號截取,刪除{左邊字符,保留右邊字符。

1
echo ${var#*'{'}

 其中 var 是變量名,# 號是運算符,*'{' 表示從左邊開始刪除第一個 {號及左邊的所有字符
結果是 :"name":"123","age":"20"}sssslog4j warndasdasdasd

2. %號截取,刪除右邊字符,保留左邊字符

1
echo ${var%'}'*}

 

%'}'* 表示從右邊開始,刪除第一個 / 號及右邊的字符

結果是:"name":"123","age":"20"


3. 從左邊第幾個字符開始,及字符的個數

1
echo ${var:0:5}

 

其中的 0 表示左邊第一個字符開始,5 表示字符的總個數。
結果是:http:

4. 從左邊第幾個字符開始,一直到結束。

1
echo ${var:7}


5. 從右邊第幾個字符開始,及字符的個數

1
echo ${var:0-7:3}

6. 從右邊第幾個字符開始,一直到結束。

1
echo ${var:0-7}
非 {}或者""這種特殊字符,截取標記用""包裹即可,如:

1
echo ${var#*"START"}
echo ${var%'END'*}




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