前言
现在每次分析网站日志的时候都需要判断百度蜘蛛是不是真实的蜘蛛,nslookup之后需要判断结果中是否包含“baidu”字符串
以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及segmentfault。
方法一:利用grep查找
1
2
3
4
5
6
7
8
9
|
strA=
"long string"
strB=
"string"
result=$(
echo
$strA |
grep
"${strB}"
)
if
[[
"$result"
!=
""
]]
then
echo
"包含"
else
"不包含"
fi
|
先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果
如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。
这个方法充分利用了grep 的特性,最为简洁。
方法二:利用字符串运算符
8
"low"
[[ $strA =~ $strB ]]
then
"包含"
else
"不包含"
"1 2 3 4 5"
# 源字符串
case
$thisString
in
*
"$searchString"
*)
Enemy Spot ;;
nope ;;
esa