https://blog.csdn.net/rznice/article/details/71086839.net
Shell中判斷字符串包含關係的方法:
一、經過grep來判斷:
1
2
str1="abcdefgh"
str2="def"
result=$(echo $str1 | grep "${str2}")
if [[ "$result" != "" ]]
then
echo "包含"
else
echo "不包含"
fi
1
2
3
4
5
6
7
8
9
先打印長字符串,而後在長字符串中 grep 查找要搜索的字符串,用變量result記錄結果,若是結果不爲空,說明str1包含str2。若是結果爲空,說明不包含。這個方法充分利用了grep 的特性,最爲簡潔。
二、字符串運算符
1
2
str1="abcdefgh"
str2="def"
if [[ $str1 =~ $str2 ]]
then
echo "包含"
else
echo "不包含"
fi
1
2
3
4
5
6
7
8
利用字符串運算符 =~ 直接判斷str1是否包含str2。
三、利用通配符
1
2
str1="abcdefgh"
str2="def"
if [[ $str1 == *$str2* ]]
then
echo "包含"
else
echo "不包含"
fi
1
2
3
4
5
6
7
8
用通配符*號代理str1中非str2的部分,若是結果相等說明包含,反之不包含。
四、利用case in 語句
1
2
str1="abcdefgh"
str2="def"
case $str1 in
*"$str2"*) echo Enemy Spot ;;
*) echo nope ;;
esa
1
2
3
4
5
6
五、利用替換
1
str1="abcdefgh"
str2="def"
if [[ ${str1/${str2}//} == $str1 ]]
then
echo "不包含"
else
echo "包含"
fi
1
2
3
4
5
6
7
8代理
————————————————
版權聲明:本文爲CSDN博主「rznice」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/rznice/article/details/71086839blog