使用管道时如何在没有警告的情况下使用zcat
收藏

我正试图通过option -q or 2>/dev/null静音zcat警告
到目前为止一切都不起作用。当文件名丢失时,我一直收到同样的警告。
我正在循环浏览100个压缩文件以提取特定数据。这个想法是,如果zcat遇到一个坏名称或丢失的文件名,zcat将保持安静并等待下一个周期,但目前这是我在使用这两个选项时得到的结果
zcat-q$ram | head-n1或zcat$ram | head-n1 2>/dev/null

gzip: compressed data not read from a terminal. Use -f to force decompression.
For help, type: gzip -h

你知道如何解决这个问题吗?或者用一个有效的静默特性读取一个.gz文件的更快方法?
谢谢


最佳答案:

目前,您只从head重定向stderr;根本不从zcat重定向。如果要从zcat重定向stderr,则需要将重定向放在管道符号之前,如下所示:

zcat $ram 2>/dev/null | head -n1

    公众号
    关注公众号订阅更多技术干货!