shell中字串的擷取

2021-06-08 21:10:34 字數 1343 閱讀 6976

str="abc123abcabc"

#計算字串的長度

echo $    #12

#位置引數有關操作

echo $      #位置引數的個數

echo $      #位置引數的個數和上面的效果一樣

echo $*         #把所有的位置引數作為乙個字串輸出

echo $@         #效果同上

#字串擷取

##    $

#         從$string的左邊第乙個字元截掉第乙個匹配的$substring

#    $

#         從$string的左邊第乙個字元截掉最後乙個個匹配的$substring

##從左邊開始

echo $ #a到c的最短匹配

echo $ #a到c的最長匹配

#從右邊開始

echo $     #從右邊的最後乙個字元開始尋找a到b的最短匹配

echo $    #從右邊最後乙個字元開始尋找a到b的最長匹配

#這裡找不到模式

#==取子串==

#   $

#   $

#echo $       #從第2個位置開始提取字串的值

echo $     #從第2個位置開始提取長度為3個字元的值

#反向提取子串

echo $        #從反向的第2個位置開始提取字串

echo $      #從反向的第2個字元的位置開始提取長度為6個字元的串(:(不可能把)

#總共的字元長度只有2個怎麼提取6個呢呵呵

echo $      #6個中提出3個總可以了把

#位置引數的提取

echo $         #從第二個位置引數開始提取後面所有位置引數的值

echo $           #從第二個位置引數開始提取3個位置引數的值

#=子串替換=

# $#   使用$replacement來替換第乙個匹配的$substring.

# $#   使用$replacement來替換所有匹配的$substring.

## $

#   如果$substring匹配$string的開頭部分,那麼就用$replacement來替換$substring.

# $#   如果$substring匹配$string的結尾部分,那麼就用$replacement來替換$substring.

#str1="123abcabcab12"

echo $   #僅僅替換了第乙個

echo $ #替換了所有的

echo $ # 從頭開始匹配12,如果找到做替換

echo $ # 從尾開始匹配12,如果找到做替換

shell中 字串擷取

一 號擷取,刪除左邊字元,保留右邊字元。echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.google.com test.htm 二 號擷取,刪除左邊字元,保留右邊字元。echo 表示從左邊開始刪除最後 最右邊 乙個 號及左...

shell中字串擷取

linux 的字串擷取很有用。有八種方法。假設有變數 var user 123 321 home dir 1.號擷取,刪除左邊字元,保留右邊字元。root zhoucentos var user 123 321 home dir root zhoucentos echo 321 home dir 其...

Shell字串擷取

一 linux shell 擷取字元變數的前8位,有方法如下 substr var 開始擷取位 擷取長度 1.expr substr a 1 8 2.echo a awk 3.echo a cut c1 8 4.echo 5.expr a 6.echo a dd bs 1 count 8 2 dev...