Saya memiliki arsip gzip dengan data tambahan. Jika saya membongkar menggunakan gzip -d
itu memberitahu saya: " dekompresi OK, trailing sampah diabaikan " (berlaku juga gzip -t
yang dapat digunakan sebagai metode mendeteksi bahwa ada data seperti itu).
Sekarang saya ingin mengenal sampah ini, tetapi anehnya saya tidak dapat menemukan cara untuk mengekstraknya. gzip -l --verbose
memberi tahu saya bahwa ukuran "terkompresi" dari arsip adalah ukuran file (yaitu dengan data trailing), itu salah dan tidak membantu. file
juga tidak membantu, jadi apa yang bisa saya lakukan?
sumber
less
atauhd
atauhd | less
atau apa pun.while (<>)
loop inperl
akan membaca stdin dan file apa pun yang terdaftar di @ARGV .... yang membuatnya mudah untuk menulis skrip yang berfungsi sama baiknya dengan filter (yaitu membaca stdin, menulis ke stdout) dan dengan file bernama (s) ). dan stdout, tentu saja, selalu dapat diarahkan ke file. sebagian besar skrip perl saya ditulis sebagai filter untuk memanfaatkan ini.push @ARGV,'-' if (!@ARGV);
sebelumnyamy $input_file_name = shift;
adalah semua yang dibutuhkan di sini. yaitu arg default-
(pesan bantuan dapat dicetak jika $ ARGV [0] == '-h' atau '--help'.). Untuk satuwhile(<>)
loop Anda bahkan tidak perlu melakukan itu, tetapi mungkin lebih banyak kesulitan daripada layak untuk menulis seperti itu untukIO::Uncompress::Gunzip
.-o
opsi atau sesuatu. memiliki skrip otomatis beralih dari arg pertama dari dua input menjadi yang pertama dan hanya arg menjadi output tampaknya berisiko dan rawan kecelakaan bagi saya (murphy yang menggoda).