Tôi đã tạo dữ liệu nén zlib trong Python, như thế này:
import zlib
s = '...'
z = zlib.compress(s)
with open('/tmp/data', 'w') as f:
f.write(z)
(hoặc một lớp lót trong vỏ echo -n '...' | python2 -c 'import sys,zlib; sys.stdout.write(zlib.compress(sys.stdin.read()))' > /tmp/data
:)
Bây giờ, tôi muốn giải nén dữ liệu trong shell. Không zcat
phải cũng không uncompress
làm việc:
$ cat /tmp/data | gzip -d -
gzip: stdin: not in gzip format
$ zcat /tmp/data
gzip: /tmp/data.gz: not in gzip format
$ cat /tmp/data | uncompress -
gzip: stdin: not in gzip format
Có vẻ như tôi đã tạo tệp giống như gzip, nhưng không có bất kỳ tiêu đề nào. Thật không may, tôi không thấy bất kỳ tùy chọn nào để giải nén dữ liệu thô như vậy trong trang gzip man và gói zlib không chứa bất kỳ tiện ích thực thi nào.
Có một tiện ích để giải nén dữ liệu zlib thô?