前言
方法一:利用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
$thisstring
in
*
"$searchstring"
*)
echo
enemy spot ;;
*)
echo
nope ;;
esa
這個就比較複雜了,case in 我還沒有接觸到,不過既然有比較簡單的方法何必如此
方法五:利用替換
string_a=$1
string_b=$2
if
[[ $
//
} == $string_a ]]
then
## is not substring.
echo
n
return
0
else
## is substring.
echo
y
return
1
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 查詢要搜尋...