如何使用grep检测文件夹中是否找到特定文本?

时间:2018-01-05 14:12:51

标签: bash grep

我只想在一组日志文件中找到特定文本时才能获得退出代码。

如果未找到匹配项,或者没有文件存在,则命令应成功通过。

Grep应该保持沉默,因为我不想看到比赛。我只想知道是否找到了模式(使用退出代码)。

不知怎的,似乎如果使用安静模式来静音grep,结果代码将永远是成功的。

2 个答案:

答案 0 :(得分:1)

为我工作

mkdir _ ; cd _ ; touch a ; echo b > b
grep -q c * || echo $?
1

0表示成功,1表示没有匹配。在某种情况下,您不需要$?,您可以直接使用该命令:

if grep -q c * ; then
    echo Found
else
    echo Not found
fi

答案 1 :(得分:0)

解决方案是使用! grep ... >/dev/null