【shell指令碼】字串擷取的8種方式
阿新 • • 發佈:2019-02-09
在編寫配置指令碼時,經常會用到字串的切割,所以,shell提供了8種字串的切割方式
我們定義一個變數a=test.c.sh。接下來對它進行切割,直接在命令列演示:
1. # 號擷取,刪除左邊字元,保留右邊字元。
a是我們定義的變數,#是擷取運算子,*.表示從左邊開始,刪除第一個.和.左邊的全部內容,所以結果是c.sh。
2. ## 號擷取,刪除左邊字元,保留右邊字元。
##*.表示刪除最後(最右)的一個.及其左邊的內容,保留右邊,所以結果是sh。
3. %號擷取,刪除右邊字元,保留左邊字元
%是擷取運算子,.*表示刪除右邊開始第一個的.及其右邊的字元,保留左邊,故結果為test.c
4. %% 號擷取,刪除右邊字元,保留左邊字元
同雙#號,雙%表示刪除最左邊的.及其以右的所有字元,保留左邊,故得到結果test。
5. 拿到從左邊第幾個字元開始,及字元的個數
上面的測試表示從a的第0個字元開始,拿4個字元。
6. 從左邊第幾個字元開始,一直到結束。
從左邊的第一個字元開始,拿完。結果是除了第0個字元的全部。
7. 從右邊第幾個字元開始,及字元的個數
0-3表示從右邊的第三個字元開始拿,拿兩個字元,結果是.s
8. 從右邊第幾個字元開始,一直到結束。
從右邊的第三個字元拿到結束。