2013-07-29 131 views

回答

7

grep命令退出时,如果没有找到匹配。你可以使用这样的退出状态:

whatever | grep pattern 
echo $? 

在一个shell脚本,你甚至可以写成:

if whatever | grep pattern ; then 
    # match was found 
else 
    # not found 
fi 
+1

谢谢你的答案。我会在4分钟内接受答案 – MOHAMED

2

如果你grep 'sometext' anyfile.txt >/dev/null然后什么都不会被打印出来。

但是,如果您在阅读$?之后,它将显示0,如果它匹配行,否则显示1。

1

您可以使用if语句编写一个小脚本并输出true或false。

1

你可以告诉grep的-q安静:

if grep -q anymessage anyfile.txt ; then 
    # found 
else 
    # not found 
fi 
0

还的 “grep -c anymessage anyfile.txt” 都可以使用(-c获得匹配的计数)