1. 程式人生 > >Shell判斷字串包含關係的方法小結

Shell判斷字串包含關係的方法小結

用Shell指令碼的編寫中,常用到字串包含關係的判斷。

利用grep查詢

strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}") 
if [[ "$result" != "" ]] 
then  
  echo "包含"
else  
  echo "不包含"
fi 

先列印長字串,然後在長字串中 grep 查詢要搜尋的字串,用變數result記錄結果

如果結果不為空,說明strA包含strB。如果結果為空,說明不包含。

這個方法充分利用了grep 的特性,最為簡潔。

利用字串運算子

strA="helloworld"
strB="low"
if [[ $strA =~ $strB ]] 
then  
  echo "包含"
else  
  echo "不包含"
fi 

利用字串運算子 =~ 直接判斷strA是否包含strB。(這不是比第一個方法還要簡潔嗎!)

利用萬用字元

A="helloworld"
B="low"
if [[ $A = *$B* ]] 
then  
  echo "包含"
else  
  echo "不包含"
fi 

這個也很easy,用萬用字元*號代理strA中非strB的部分,如果結果相等說明包含,反之不包含。