Ваш входной файл, вероятно, просто обрезан и поэтому не заканчивается должным образом. Любой распаковщик GZIP заметит это как повреждение файла. Боюсь, что нет способа обойти эту ситуацию, вы действительно потеряли информацию в конце вашего файла. Я могу только догадываться, сколько это.
Однако вы можете просто воссоздать восстановленный сжатый файл из поврежденного сжатого файла, который содержит всю информацию, которая все еще присутствовала в поврежденном файле:
zcat corrupted_file.gz 2>/dev/null | gzip > repaired_file.gz
Но, конечно, то, что ушло, ушло и не может быть возвращено этим. Это может помочь вам избежать проблем с другими инструментами в цепочке инструментов, которые жалуются на поврежденный файл.
Если в отремонтированном файле (который только ›восстанавливается с точки зрения GZIP) в конце не хватает жизненно важной информации, он все еще может не использоваться вообще в вашем конкретном c сценарии использования.