gzip:stdin:当gunzip与pipe一起使用时,不是gzip格式

我按以下方式解压缩文件:

gunzip file.gz

但是当我用管道做它时,它会返回错误。

echo file.gz | gunzip解
gzip:stdin:不是gzip格式

这有什么问题? 提前致谢。

问题是echo file.gz只是echo file.gz一个字符串“file.gz”。 基本上命令之间的区别是:

你想要什么:

gunzip /path/to/directory/file.gz

你用回声给它的是什么:

gunzip "file.gz"

但是,即便这样也不完全正确。 真正的区别在于,您只发送字符串 “file.gz”,而不是对文件 file.gz的引用。

我想这里真正的问题是你为什么要尝试使用gunzip而不是仅仅使用它作为gunzip file.gz

编辑:似乎做echo file.gz | xargs gunzip echo file.gz | xargs gunzip也是这样做的。