SHELL --- 字符串截取
1、按指定的字符串截取(4種)
${varible##*string} # 從左向右截取最後一個string後的字符串 <即 刪除左邊字符,保留右邊字符> ${varible#*string} # 從左向右截取 第一個string後的字符串 <即 刪除左邊字符,保留右邊字符> ${varible%%string*} # 從右向左截取最後一個string後的字符串 <即 刪除右邊字符,保留左邊字符> ${varible%string*} # 從右向左截取 第一個string後的字符串 <即 刪除右邊字符,保留左邊字符> |
注:varible 變量名
string 需要截取的字符串
“*” 只是一個通配符可以不要
實例及運行結果:
2、根據特定字符偏移和長度,使用另一種形式的變量擴展,來選擇特定子字符串。(4種)
這種形式的字符串截斷非常簡便,只需用冒號分開來指定起始字符和子字符串長度。
${varible:start:len} # 從左邊 第 (start+1) 個字符開始 以及 字符的個數len ${varible:start} # 從左邊 第 (start+1) 個字符開始一直到結束 ${varible:0-start:len} # 從右邊 第 start 個字符開始 以及 字符的個數len ${varible:0-start} # 從右邊 第 start 個字符開始一直到結束 |
注:varible 變量名
start 字符開始位置 【左邊的第一個字符是用 0 表示,右邊的第一個字符用 0-1 表示】
len 字符個數
實例及運行結果:
3、利用工具 (cut工具)
read val
echo $val | cut -c 1-3 #截取val的前3個字符