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

Linux 使用管道时如何在没有警告的情况下使用zcat,linux,bash,compression,ksh,zcat,Linux,Bash,Compression,Ksh,Zcat,我正试图通过选项-q或2>/dev/null 到目前为止,一切都不起作用。当文件名丢失时,我总是收到相同的警告。 我正在循环使用100个压缩文件来提取特定的数据。这个想法是,如果zcat遇到一个坏名称或丢失的文件名,zcat将保持安静,等待下一个周期,但目前这是我在使用这两个选项时得到的结果 zcat-q$ram | head-n1或zcat$ram | head-n1 2>/dev/null 你知道如何解决这个问题,或者用一种更快捷的方法来读取一个具有静默功能的.gz文件吗 谢谢目前,您只从头

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

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

你知道如何解决这个问题,或者用一种更快捷的方法来读取一个具有静默功能的.gz文件吗


谢谢

目前,您只从
重定向stderr;您根本没有从
zcat
重定向。如果要从
zcat
重定向stderr,则需要将重定向置于管道符号之前,如下所示:

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

2>/dev/null
应该可以工作,从命令行可以很好地工作。如果这是一个脚本,你能编辑你的文章,包括几行上下文吗?对不起,我更新了问题,我忘了添加管道。对没有它,它会工作,但当我尝试使用管道,它不工作。谢谢你的建议,我会记住下次
zcat $ram 2>/dev/null | head -n1