Apakah ada cara cepat untuk memeriksa apakah file gzip kosong, atau haruskah saya unzip dulu?
contoh:
$ touch foo
$ if [ -s foo ]; then echo not empty; fi
$ gzip foo
$ if [ -s foo.gz ]; then echo not empty; fi
not empty
$ wc -l foo.gz
1 foo.gz
command-line
bash
gzip
dogbane
sumber
sumber
LC_ALL=C
apakah ada untuk memastikan bahwa gzip tidak memasukkan ribuan pemisah dalam jumlah sehingga bidang dapat dibandingkan dengan nol?LC_ALL=C
tidak ada salahnya.read
yang dipanggil dalam subkulit (dan$line
tidak diperbanyak ke induknya).tr
perbaikan itu.Jika dengan 'kosong' Anda berarti bahwa file yang tidak dikompresi adalah 0 byte, Anda dapat menggunakan
gzip --list foo.gz
untuk menentukan ukuran file yang tidak terkompresi, itu akan memerlukan beberapa penguraian untuk mengotomatiskannya. Itu terlihat seperti ini:sumber
Atau dengan
if
:zcat
kadang-kadang ditautkan kegunzip -c
ataugzip -cd
, jika Anda ingin menggunakannya sebagai "formulir" yang lebih pendek.sumber
Harap dicatat bahwa format file gzip hanya memungkinkan 32 bit untuk menyimpan ukuran file asli, jadi nomor ada ukuran modulo 2 ^ 32. Oleh karena itu ukuran yang diberikan oleh "gzip -l" bukanlah tes definitif untuk kekosongan.
sumber