方法一
网上看到这两个方法,貌似有些问题
echo $line | grep -e "*repeat*"
test $? -eq 0 && echo "yes" || echo "no"
用-e还是-q需要验证
echo $line | grep -q "*repeat*" #这个貌似
test $? -eq 0 && echo "yes" || echo "no" #这个没有搞懂
这个是根据上面的做了些改进的方法
str_0="Higoogle"
pat="goo"
echo $str_0|grep -e $pat > /dev/null #输出到空设备,这样不会打印grep出来的结果,同时$?结果也能符合需要
if [ $? -eq 0 ]; then
echo "yes"
else
echo "no"
fi
方法二
可以用=~ 来匹配正则 但是两边必须是双括号
if
[[
"$line"
=~
".*repeat.*"
]];then
echo yes
fi