美文网首页
让grep不打印“没有这样的文件或目录”的错误

让grep不打印“没有这样的文件或目录”的错误

作者: mingzhi618 | 来源:发表于2018-09-30 14:39 被阅读0次

    可以使用-s或--no-messages标志来抑制错误。

      -s,–no-messages压制错误信息

    grep pattern * -s -R -n

    如果你通过git存储库,我build议你使用git grep。 您不需要通过-R或path。

    git grep pattern

    这将显示从当前目录下的所有匹配。

    像这样的错误通常会发送到“标准错误”stream,您可以将它们传送到一个文件,或者只是在大多数命令中消失:

    grep pattern * -R -n 2>/dev/null

    我通常不会让grep做recursion本身。 通常有几个你想跳过的目录(.git,.svn …)

    你可以用像那样的姿态来做聪明的别名:

    find . \( -name .svn -o -name .git \) -prune -o -type f -exec grep -Hn pattern {} \;

    乍一看似乎有点矫枉过正,但是当你需要过滤出一些图案时,这个方法非常方便。

    我已经看到这种情况发生了好几次,断链(指向不存在的文件的符号链接),grep尝试search不存在的目标文件(因此是正确和准确的错误消息)。

    我通常不会在控制台上执行系统pipe理员任务时感到麻烦,但是在脚本中,我使用“find”查找文本文件,然后grep每个文件:

    find /etc -type f -exec grep -nHi -e "widehat" {} \;

    代替:

    grep -nRHi -e "widehat" /etc

    你有没有尝试过xargs中的-0选项? 像这样的东西:

    ls -r1 | xargs -0 grep 'some text'

    在grep中使用-I。

    例如:grep SEARCH_ME -Irs ~/logs。

    reference: http://www.dovov.com/grepxf.html

    相关文章

      网友评论

          本文标题:让grep不打印“没有这样的文件或目录”的错误

          本文链接:https://www.haomeiwen.com/subject/zsswoftx.html