Bagaimana saya bisa melihat file yang di-gzip lebih sedikit tanpa harus mengetikkan zless?

33

Saya menggunakan Ubuntu, dan saya ingin bisa mengetik less compressed_text_file.gzdan halaman isi file teks dalam bentuk terkompresi. Apakah ada cara untuk melakukan ini?

Ryan C. Thompson
sumber

Jawaban:

29

Anda dapat mengkonfigurasi binding kunci dan mengatur banyak pengaturan untuk lessdalam file bernama ~/.lesskey. Setelah Anda membuat file, jalankan lesskeyperintah ; itu menghasilkan file bernama ~/.lessyang lessberbunyi ketika dimulai.

Pengaturan yang Anda inginkan adalah LESSOPEN. Ini adalah formatter input dengan harga lebih murah. The lesspaket datang dengan formatter sampel di /bin/lesspipe; itu mendekompresi file yang di-gzip, menampilkan daftar konten untuk banyak format arsip multi-file, dan mengubah beberapa format teks yang diformat menjadi teks biasa. Di Anda ~/.lesskey:

#env
LESSOPEN=|/bin/lesspipe %s
Gilles 'SANGAT berhenti menjadi jahat'
sumber
40

Gunakan zcat, lalu pipa untuk less.

$ zcat $FILE | less
Alex
sumber
2
Saya lebih suka jika lesshanya bekerja pada file terkompresi.
Ryan C. Thompson
4
Berbeda dengan jawaban yang diterima yang satu ini adalah solusi yang bersih dan unix-way. Terima kasih!
Pavel Vlasov
Ini sesederhana yang didapat, menang. Satu hal yang perlu diingat adalah bahwa jika Anda membuka file besar dengan lebih sedikit, itu membuka dengan cara yang bisa digunakan, langsung. Dengan pendekatan ini, ia akan terbuka tetapi Anda tidak akan bisa berbuat banyak (jika ada) sampai kompresi selesai menjalankan semuanya melalui pipa. Jadi, jika Anda berencana membukanya berulang kali, lebih baik dekompres dulu. Jika tidak, lakukan ini dan periksa email Anda atau sesuatu :)
Max Williams
2

Saya menggunakan IBM dan ketika menggunakan zcat, itu akan mengeluh bahwa itu tidak dapat menemukan file berakhir dengan .Z.

Di IBM, seseorang dapat menggunakan gzcat:

$ gzcat log_file.gz | less
Viet
sumber
Apa yang Anda maksud dengan "menggunakan IBM"? Apakah maksud Anda AIX?
Duncan X Simpson
Penggunaan gzcatjuga diperlukan pada Solaris 5
John