Bash中的字串處理

2021-06-19 09:30:42 字數 1023 閱讀 6043

(一)字串的替換

(1)$

(說明一下,這個操作中除了第乙個引數是變數外其它兩個都是字元;還有一點就是這個操作並不是把「變數1」中的字元替換了,詳見例子)

例:str1=abcabcabc123abc

echo $#這裡的abc和aaa都是字串,而str1是變數,並且這個操作過後str1裡的字串長度不會減少,只是產生了乙個新的字串。

(2)$

(說明一下,這個操作上和麵的是一樣的,只不過是從左邊開始匹配,並且必須從左邊第乙個字元開始)

例:echo $#這個例子中並不會把bca換成aaa因為b不是左邊第乙個開頭字元

echo $#這樣才行

(3)$

(與(2)相反,是結尾最後乙個字元要匹配才行)

例:echo $#abcabcabc12aaa

(3)$

全部替換

(二)取子串

(1)$

(說明一下,預設是從左邊開始,如果「位置」為負數,則是從右邊的第「位置」個字元開始,並且第乙個位置為0;從「位置」開始取子串到最後)

例:str1=abcabcabc123abc

echo $#會輸出abc

(2)$

(3)如果「變數1」為「*」或「@」,「位置」所表示的是第幾個引數。

(三)字串移動

(1)$

(說明一下,這個是從左邊第乙個開始匹配,剝去最短「匹配字串」)

例:str1=abcabcabc123

echo $#輸出abcabc123

(2)$

(說明一下,這個是從左邊第乙個開始匹配,剝去最長「匹配字串」)

str1=abcabcabc123

echo $#輸出123

echo $#輸出abcabcabc123,因為沒有從第乙個開始匹配

(3)$

(4)$

(說明一下,這與上面的(1)(2)是正好相反的,是從最後乙個開始匹配的)

(四)字串長度$例:

str=abcdefg

echo $#輸出7

bash中字串處理

得到長度 x abcd 方法一 expr length x 4 方法二 echo 4 方法三 expr x 4 expr 的幫助 string regexp anchored pattern match of regexp in string 查詢子串 expr index x b 2 expr i...

BASH 中的字串處理

得到長度 x abcd 方法一 expr length x 4 方法二 echo 4 方法三 expr x 4 expr 的幫助 string regexp anchored pattern match of regexp in string 查詢子串 expr index x b 2 expr i...

BASH 中的字串處理

得到長度 x abcd 方法一 expr length x 4 方法二 echo 4 方法三 expr x 4 expr 的幫助 string regexp anchored pattern match of regexp in string 查詢子串 expr index x b 2 expr i...