gzipar um arquivo fará com que o nome do arquivo original seja armazenado como parte do cabeçalho de saída.
(Por padrão, a hora da modificação é armazenada também, portanto, até mesmo dois arquivos .gz criados de forma idêntica serão diferentes.)
Estou escrevendo testes de unidade para algum código e descobri que um simples gzip
está causando uma diferença em meus resultados. Após investigação adicional, descobri que gzip
fornece um arquivo .gz
diferente de gzip -c
. Por que isso acontece?
$ 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
gzipar um arquivo fará com que o nome do arquivo original seja armazenado como parte do cabeçalho de saída.
(Por padrão, a hora da modificação é armazenada também, portanto, até mesmo dois arquivos .gz criados de forma idêntica serão diferentes.)
Tags compression tar gzip linux