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" }
|