Распаковка файла приведет к тому, что исходное имя файла будет сохранено как часть выходного заголовка.
(По умолчанию время модификации также сохраняется, поэтому даже два идентично созданных файла .gz будут отличаться.)
Я пишу модульные тесты для некоторого кода и обнаружил, что простой gzip
вызывает разницу в моих результатах. После дальнейшего расследования я обнаружил, что gzip
дает другой .gz
файл, чем gzip -c
делает. Почему это?
$ echo "foo" > bar $ gzip bar $ zcat bar.gz | gzip -c > test.gz $ cmp bar.gz test.gz bar.gz test.gz differ: byte 4, line 1 $ stat bar.gz | grep Size Size: 28 Blocks: 0 IO Block: 4194304 regular file $ stat test.gz | grep Size Size: 24 Blocks: 0 IO Block: 4194304 regular file $ zcat bar.gz > foo1.txt $ zcat test.gz > foo2.txt $ cmp foo1.txt foo2.txt $ echo $? 0
Распаковка файла приведет к тому, что исходное имя файла будет сохранено как часть выходного заголовка.
(По умолчанию время модификации также сохраняется, поэтому даже два идентично созданных файла .gz будут отличаться.)