BASH 中的字串處理

2022-07-12 20:06:25 字數 1269 閱讀 7607

得到長度

%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 index  $x "a"

1%expr index  $x "b"

2%expr index  $x "c"

3%expr index  $x "d"

4得到子字串

# 方法一

# expr startpos length

%expr substr "$x" 1 3

abc%expr substr "$x" 1 5

abcd

%expr substr "$x" 2 5

bcd# 方法二

# $%echo $

bcd%echo $

cd%echo $

abcd

%echo $

ab%pos=1

%len=2

%echo $

bc匹配正規表示式

# 列印匹配長度

%expr match $x "."

1%expr match $x "abc"

3%expr match $x "bc"

0字串的掐頭去尾

%x=aabbaarealwwvvww

%echo "$"

aabbaarealwwvv

%echo "$"

aabbaareal

%echo "$"

lwwvvww

%echo "$"

bbaarealwwvvww

其中 , # 表示掐頭, 因為鍵盤上 # 在 $ 的左面。

其中 , % 表示%,  因為鍵盤上 % 在 $ 的右面。

單個的表示最小匹配,雙個表示最大匹配。

也就是說,當匹配的有多種方案的時候,選擇匹配的最大長度還是最小長度。

字串的替換

%x=abcdabcd

%echo $ # 只替換乙個

bbcdabcd

%echo $ # 替換所有

bbcdbbcd

不可以使用 regexp , 只能用 * ? 的檔案擴充套件方式。

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中的字串處理

一 字串的替換 1 說明一下,這個操作中除了第乙個引數是變數外其它兩個都是字元 還有一點就是這個操作並不是把 變數1 中的字元替換了,詳見例子 例 str1 abcabcabc123abc echo 這裡的abc和aaa都是字串,而str1是變數,並且這個操作過後str1裡的字串長度不會減少,只是產...

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...