Linux has a multitude of handy specialized commands and fast ways to do things. Juliet Kemp shows us how to read compressed files without unpacking them first.
, the better-featured version of more
, which among
other things allows you to move backward through its output, is great for
paging through text files. But it won't automatically deal with compressed
text files. This can be a nuisance, particularly when many of the files in
A straightforward alternative is zless, which will deal seamlessly
with gzip, compress, or pack files, allowing you to page through them without
having to unzip them. It also handles uncompressed files, and
(contrary to the manpage) it appears to deal OK with input piped from stdin
(e.g., ls | zless).
zless can't, however, handle files that have been tarred as well
as zipped. Here's an alternative command line that will allow you to page
through file.tar.gz without unpacking it beforehand and thus without
leaving unzipped files lying around:
That's great, but it's a bit of a mouthful (or keyboardful) to remember.
Try this instead (bash syntax):
tar --to-stdout -zxf file.tar.gz | less
Now try just typing less file.tar.gz. Magic!
export LESSOPEN="|tar --to-stdout -zxf %s"
In fact, this will deal with both uncompressed files and piped input as well, so you
can set this variable in your .bashrc. However, it won't work
on plain .gz files â for those, you should still use
One last note: If you regularly want to look at tar archives that aren't
also zipped (e.g., file.tar), you can set export LESSOPEN="|tar
--to-stdout -xf %s" to work the same trick for these files.
This article was first published on ServerWatch.com.
Copyright 2017 © QuinStreet Inc. All Rights Reserved