我按以下方式解压缩文件:
gunzip文件.gz
但是当我使用管道执行此操作时,它会返回错误。
echo file.gz | gunzip
gzip: stdin: 不是 gzip 格式
这是什么问题?提前致谢。
答案1
问题是它只echo file.gz
回显了一个字符串“file.gz”。基本上,这些命令之间的区别是:
你想要什么:
gunzip /path/to/directory/file.gz
您通过回声给出的内容:
gunzip "file.gz"
然而,这也不完全正确。真正的区别在于,文件 file.gz
你只发送细绳“文件.gz”
我想这里真正的问题是你为什么要尝试通过管道传输gunzip
而不是仅仅使用它gunzip file.gz
?
编辑:看来这样做echo file.gz | xargs gunzip
也能起到作用。