Pada Fedora / Redhat / CentOS, less
perintah ini tampaknya mendeteksi secara ajaib file yang di-gzip dan mendekompresnya dengan cepat, sehingga Anda dapat melakukannya:
less my_stuff.csv.gz
Saya baru saja memperhatikan bahwa ini tidak berfungsi di Ubuntu 11
less my_stuff.csv.gz
"my_stuff.csv.gz" may be a binary file. See it anyway?
Saya telah memeriksa CentOS VMs saya untuk melihat apakah ada beberapa shell alias sulap yang membuatnya berfungsi tetapi sepertinya tidak ada. Apakah dukungan gzip hanya dibangun di dalam biner CentOS?
Jika ada yang tahu bagaimana ini bekerja pada CentOS dan / atau bagaimana ini dapat bekerja pada Ubuntu saya akan berterima kasih.
Saya sadar saya bisa melakukannya
zcat my_stuff.csv.gz | less
tapi itu akan membuat keyboard saya cepat aus.
less myfile.txt.gz
bekerja di luar kotak.Jawaban:
less
jangan lakukan itu secara default, tetapi ada garis di default~/.bashrc
yang mengubah perilaku default:Pastikan untuk tidak menghapus atau mengomentari baris ini.
Dengan ini di tempat, Anda dapat halaman file zip dan non-zip tanpa diketahui, seperti di
di mana beberapa log dapat di-zip dan beberapa lainnya tidak di-zip.
Untuk akun root yang diakses melalui
sudo
Anda tidak dapat melakukan hal yang sama, tetapi ada dua solusi:sudo zless file*
sudo -E less file*
Dalam kasus pertama yang saya gunakan
zless
, itu berfungsi juga untuk file yang tidak di-zip.Dalam yang kedua saya menambahkan
-E
opsisudo
untuk melestarikan variabel lingkungan Anda, untuk membuat lebih sedikit pekerjaan seperti yang Anda harapkan.sumber
~/.bashrc
". OP bisa memodifikasi sendiri~/.bashrc
.LESSOPEN=|/usr/bin/lesspipe.sh %s
Ini dilakukan oleh sebuah skrip yang berisi[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="|/usr/bin/lesspipe.sh %s"
ditambahkan ke/etc/profile.d/less.sh
Kurang bisa membaca file gzip, Anda bisa memeriksanya di halaman manualnya. Ada skrip, diinstal secara default di Ubuntu dan sebagian besar distro, disebut zless , yang berfungsi seperti yang Anda jelaskan.
Jadi jawabannya adalah menggunakan:
Perbedaan antara Fedora dan Ubuntu adalah bahwa Fedora mengatur variabel lingkungan LESSOPEN untuk memaksa argumen melalui lesspipe:
Perhatikan bahwa perintah ini tidak akan berfungsi di Ubuntu.
sumber
zless
adalah skrip shell yang menggunakanless
danlesspipe
pada intinya, jadiless
tidak bisa menjadi symlink kezless
. Saya tidak berpikir itu berbeda di distro lain.