Sous Fedora / Redhat / CentOS, la less
commande semble détecter comme par magie un fichier compressé et le décompresser à la volée. Vous pouvez ainsi:
less my_stuff.csv.gz
Je viens de remarquer que cela ne fonctionne pas sur Ubuntu 11
less my_stuff.csv.gz
"my_stuff.csv.gz" may be a binary file. See it anyway?
J'ai examiné mes machines virtuelles CentOS pour voir s'il existe un alias de shell shell qui le rend efficace, mais cela ne semble pas être le cas. Le support gzip est-il uniquement intégré au binaire CentOS?
Si quelqu'un sait comment cela fonctionne sur CentOS et / ou comment il peut fonctionner pour Ubuntu, je vous en serais reconnaissant.
Je suis conscient que je peux faire
zcat my_stuff.csv.gz | less
mais cela ferait que mon clavier s'use plus rapidement.
less myfile.txt.gz
fonctionne immédiatement .Réponses:
less
ne le faites pas par défaut, mais il existe une ligne dans la valeur par défaut~/.bashrc
qui modifie le comportement par défaut:Veillez à ne pas supprimer ou commenter cette ligne.
Avec ceci en place, vous pouvez rechercher des fichiers compressés et non compressés sans le savoir, comme dans
où certains journaux peuvent être compressés et d'autres non.
Pour le compte root auquel
sudo
vous avez accédé, vous ne pouvez pas faire la même chose, mais il existe deux solutions de contournement:sudo zless file*
sudo -E less file*
Dans le premier cas que j'ai utilisé
zless
, cela fonctionne aussi pour les fichiers non compressés.Dans le second, j’ai ajouté l’
-E
option permettantsudo
de préserver vos variables d’environnement, afin de vous permettre de travailler moins que prévu.la source
~/.bashrc
". Le PO aurait pu modifier le sien~/.bashrc
.LESSOPEN=|/usr/bin/lesspipe.sh %s
Ceci est effectué par un script contenant[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN="|/usr/bin/lesspipe.sh %s"
ajouté à/etc/profile.d/less.sh
Moins ne peut pas lire les fichiers gzippés, vous pouvez le vérifier dans sa page de manuel. Il existe un script, installé par défaut dans Ubuntu et la plupart des distributions, appelées zless , qui fonctionnent comme vous l'avez décrit.
Donc, la réponse est d'utiliser:
La différence entre Fedora et Ubuntu réside dans le fait que Fedora a défini la variable d’environnement LESSOPEN pour forcer l’argument via lesspipe:
Notez que cette commande ne fonctionnera pas dans Ubuntu.
la source
zless
est un script shell qui utiliseless
etlesspipe
dans son noyau, doncless
ne peut pas être un lien symbolique verszless
. Je ne pense pas que ce soit différent dans d'autres distributions.