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

2021-08-25 17:24:34 字數 2702 閱讀 8467

前言

方法一:利用grep查詢

stra="long string"

strb="string"

result=$(echo$stra |grep"$")

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的部分,如果結果相等說明包含,反之不包含。

方法四:利用case in 語句

thisstring="1 2 3 4 5"# 源字串

searchstring="1 2"# 搜尋字串

case$thisstringin

*"$searchstring"*)echoenemy spot ;;

*)echonope ;;

esa

這個就比較複雜了,case in 我還沒有接觸到,不過既然有比較簡單的方法何必如此

方法五:利用替換

string_a=$1

string_b=$2

if[[ $//} == $string_a ]]

then

## is not substring.

echon

return0

else

## is substring.

echoy

return1

fi

這個也挺複雜

總結

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

這篇文章主要給大家介紹了關於用shell判斷字串包含關係的幾種方法,其中包括利用grep查詢 利用字串運算子 利用萬用字元 利用case in 語句以及利用替換等方法,每個方法都給出了詳細的示例 與介紹,有需要的朋友們可以參考參考借鑑,下面來一起看看吧。前言 方法一 利用grep查詢 stra lo...

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

前言 現在每次分析 日誌的時候都需程式設計客棧要判斷蜘蛛是不是真實的蜘蛛,nslehlttzvrzookup之後需要判斷結果中是否包含 baidu 字串 以下給出一些shell中判斷字串包含的方法,程式設計師程式設計客棧問答 stackoverflow 以及segmentfault。方法一 利用gr...

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

用shell指令碼的編寫中,常用到字串包含關係的判斷。利用grep查詢stra long string strb string result echo stra grep if result then echo 包含 else echo 不包含 fi先列印長字串,然後在長字串中 grep 查詢要搜尋...