我希望我的shell只能找出引用中的模式,
但结果也返回了类似"MSGxxxxx"
的内容
谁能给我一些建议?
这是我的剧本:
if egrep -e 'Msg|duplicate|deadlock|status = -|terminated due to disconnect' MYFILE.log
then
echo "I found something in your RAW data."
else
echo "Nothing found!"
fi
答案 0 :(得分:0)
如果您希望模式与行尾相匹配,请使用$
。如果您希望它与行的开头匹配,请使用^
。
答案 1 :(得分:0)
使用-w
标志只选择那些包含构成整个单词的匹配的行。
if egrep -w -e 'Msg|duplicate|deadlock|status = -|terminated due to disconnect' file
then
echo "I found something in your RAW data."
else
echo "Nothing found!"
fi
或者,使用单词边界\b
,如下所示:
if egrep -e '\bMsg\b|duplicate|deadlock|status = -|terminated due to disconnect' file
then
echo "I found something in your RAW data."
else
echo "Nothing found!"
fi
答案 2 :(得分:0)
您正在寻找grep的-i
选项以匹配不区分大小写。