No Fedora / Redhat / CentOS, o less
comando parece detectar magicamente um arquivo compactado em gzip e descompactá-lo rapidamente, para que você possa:
less my_stuff.csv.gz
Acabei de notar que isso não funciona no Ubuntu 11
less my_stuff.csv.gz
"my_stuff.csv.gz" may be a binary file. See it anyway?
Eu estive examinando minhas VMs do CentOS para ver se há alguma mágica de alias de shell que faz com que funcione, mas parece não haver. O suporte ao gzip está embutido no binário do CentOS?
Se alguém souber como isso funciona no CentOS e / ou como pode ser feito para funcionar no Ubuntu, ficaria grato.
Estou ciente de que posso fazer
zcat my_stuff.csv.gz | less
mas isso faria com que meu teclado se desgastasse mais rapidamente.
less myfile.txt.gz
funciona imediatamente .Respostas:
less
não faça isso por padrão, mas há uma linha no padrão~/.bashrc
que altera o comportamento padrão:Certifique-se de não remover ou comentar esta linha.
Com isso, você pode paginar arquivos compactados e não compactados sem saber, como em
onde alguns dos logs podem ser compactados e outros não compactados.
Para a conta raiz acessada através de
sudo
você não pode fazer a mesma coisa, mas existem duas soluções alternativas:sudo zless file*
sudo -E less file*
No primeiro caso que usei
zless
, isso também funciona para arquivos não compactados.No segundo, eu adicionei a
-E
opção desudo
preservar suas variáveis de ambiente, para fazer menos trabalho como você esperaria.fonte
~/.bashrc
". O OP poderia ter modificado o seu próprio~/.bashrc
.LESSOPEN=|/usr/bin/lesspipe.sh %s
Isso é feito por um script que contém[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="|/usr/bin/lesspipe.sh %s"
adicionado ao/etc/profile.d/less.sh
Menos não pode ler arquivos compactados com gzip, você pode verificá-lo em sua página de manual. Há um script, instalado por padrão no Ubuntu e na maioria das distros, chamado zless , que funciona como você descreveu.
Portanto, a resposta é usar:
A diferença entre o Fedora e o Ubuntu é que o Fedora definiu a variável de ambiente LESSOPEN para forçar o argumento através do lesspipe:
Note que este comando não vai funcionar no Ubuntu.
fonte
zless
é um script de shell que usaless
elesspipe
em seu núcleo, portanto,less
não pode ser um link simbólico parazless
. Eu não acho que seja diferente em outras distros.