天天看點

c字元串截取一部分字元串_Shell處理字元串常用技巧截取子串簡單案例

Shell處理字元串常用技巧之截取子串

在Shell程式設計中,經常要處理一些字元串變量。

下面給大家整理Shell處理字元串常用技巧之截取子串。

請參考:Shell處理字元串常用技巧之分割、替換字元串整理

(1)、${VALUE:OFFSET}或${VALUE:OFFSET:LENGTH}

從VALUE字元串的左邊開始中截取子串。

(2)、${VALUE:0-OFFSET}或${VALUE:0-OFFSET:LENGTH}

從VALUE字元串的右邊開始中截取子串。

解釋:

(1) 左邊第一個字元從0開始

(2) 右邊第一個字元從0-1開始。

表示偏移OFFSET個字元開始,LENGTH表示要截取字元的長度。

如果沒有LENGTH變量,表示偏移OFFSET個字元開始到字元串結束。

案例:

(1)、${VALUE:OFFSET}或${VALUE:OFFSET:LENGTH}

[[email protected] shellFiles]$ name=mynameisodysee

//從左到右

//偏移量為2,即:從第三個字元開始截到end

[[email protected] shellFiles]$ echo ${name:2}

nameisodysee

//從左到右比對

//偏移量為2,截取長度為4

//即:從第三個字元開始截後面的4個字元結束

[[email protected] shellFiles]$ echo ${name:2:4}

name

c字元串截取一部分字元串_Shell處理字元串常用技巧截取子串簡單案例

(2)、${VALUE:0-OFFSET}或${VALUE:0-OFFSET:LENGTH}

//從右到左比對

//偏移量為8,即從右到左截取8個字元

[[email protected] shellFiles]$ name=mynameisodysee

[[email protected] shellFiles]$ echo ${name:0-8}

isodysee

//從右到左比對

//偏移量為8,即從右到左截取8個字元

//length為2,即從左到右截取8個字元的前兩個(這個地方比較拗腦)

[[email protected] shellFiles]$ echo ${name:0-8:2}

is

c字元串截取一部分字元串_Shell處理字元串常用技巧截取子串簡單案例

總結:

關于以上的字元串操作,有點拗腦,不太容易記憶。

如果有什麼好的記憶方式,望大家不吝賜教。

下一篇:Shell處理字元串常用技巧之截取子串

歡迎大家給予寶貴的意見或者建議。

歡迎大家補充或者共享一些其他的方法。

感謝支援。

繼續閱讀