![zcat 或 gunzip:出现错误时继续](https://linux22.com/image/1351360/zcat%20%E6%88%96%20gunzip%EF%BC%9A%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E6%97%B6%E7%BB%A7%E7%BB%AD.png)
当尝试使用 gunzip 或 zcat 压缩大量 gzip 文件时,zcat/gunzip 将因以下错误而终止:
gzip: <gzip-file>: unexpected end of file
有什么方法可以让 gunzip 或 zcat 在出错时继续/继续执行而不停止?这很重要,因为我们预计某些 gzip 文件会出现错误,但希望我们的 gunzipping 操作继续进行,而不会停止并手动移动错误文件。
答案1
您可以使用如下的 shell 脚本(或函数):
function myzcat() {
for file in "$@"; do
zcat -- "$file" 2>/dev/null || true
done
}
....
myzcat corrupted-or-good/*.gz >gunzipped-output.txt