【问题标题】:silence 'No such file or directory' error while using zgrep使用 zgrep 时出现“没有这样的文件或目录”错误
【发布时间】:2018-08-02 11:01:46
【问题描述】:

在使用 zgrep 时尝试消除“没有这样的文件或目录”错误。 它不适用于以下任何选项 -s, --silent , -q , --quiet, --no-messages

uname -a Linux ... #1 SMP 2018 年 7 月 18 日星期三 19:37:38 UTC x86_64 x86_64 x86_64 GNU/Linux

有什么帮助吗?

【问题讨论】:

    标签: linux bash


    【解决方案1】:

    问题是 zgrep 调用 gzip,然而,gzip 不是静默的,而 grep 是静默的。

    zgrep bla bla

    结果: gzip: bla.gz: No such file or directory 所以错误来自gzip。 zgrep 使用的选项被传递给 grep 而不是 gzip。 gzip 可以忽略警告,但是仍然会打印错误,因此创建别名 gzip=gzip -q,并没有真正的帮助。

    您可以做的是将标准错误流重定向到 /dev/null

    zgrep bla bla 2> /dev/null

    这也捕获了 gzip 打印到 stderr 的错误。

    【讨论】:

    • 当然可以考虑,但我期待这个功能是内置的。
    • 这似乎确实是一个zgrep 问题,至于 grep 这只是工作。我收到消息 gzip: blabla.gz: No such file or directory 所以实际上是 gzip 打印错误,而不是 grep (zgrep)。
    • @RaghavendraB 我调整了答案以显示错误的来源。
    • zgrep 是否也将 .gz 附加到 /dev/null ? gzip: 2>/dev/null.gz: 没有这样的文件或目录
    最近更新 更多