bash中字串處理

2021-09-30 09:21:54 字數 949 閱讀 9114

得到長度:

**:%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

BASH 字串處理

使用正規表示式拆分字串 bash 3.0以上支援 正規表示式 格式 name value1 value2 name value1和value2是我們需要的字串 在分隔符前後可以有空格 tab等無顯示字元不允許 用 做正規表示式匹配 表示可以有任意空格,表示裡面是要提取的部分,表示任意數目的任意字串,...

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