当尝试使用 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