zcommands: Read gzip compressed text files on fly
Both Linux and Unix like oses comes with z commands. It allows you to read gzip compressed text files using zless, zcat and zmore etc. gzip reduces the size of the files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. zcommand has some cool usage - such as display the current time in different zonename.
The old way...
Let us say you have a file called data..txt.gz. To display file you can type:
gzip -d data.txt.gz
cat data.txt
less data.txt
The new way...
Just use zless command:
zless data.txt.gz
zmore data.txt.gz
zcat command
Concatenate compressed files and print on the screen:
zcat file.gz
zdiff / zcmp command
Compare compressed files:
zdiff file1.gz file2.gz
zcmp file1.gz file2.gz
zegrep / zfgrep / zgrep command
Search compressed files for a regular expression:
zegrep -w '^word1|word2' file.gz
zgrep 'word' file.gz
zless / zmore commands
zmore and zless is a filter which allows examination of compressed or plain text files one screenful at a time on a screen. zmore works on files compressed with compress, pack or gzip, and also on uncompressed files. If a file does not exist, zmore looks for a file of the same name with the addition of a .gz, .z or .Z suffix.
zmore file.gz
zless file.gz
znew command
Znew recompresses files from .Z (compress) format to .gz (gzip) format. If you want to recompress a file already in gzip format, rename the file to force a .Z extension then apply znew.
znew file.Z
zdump command
zdump command prints the current time in each zonename named on the command line. Let us say your current time zone is IST (Indian standard time) and like to see time current time for Los Angeles (USA - PDT), enter:
date
Output:
Fri Aug 31 20:51:39 IST 2007
Now display Los Angeles current time :
zdump /usr/share/zoneinfo/America/Los_Angeles
Output:
/usr/share/zoneinfo/America/Los_Angeles Fri Aug 31 08:20:31 2007 PDT
zipgrep command
Search files in a ZIP archive for lines matching a pattern:
zipgrep *.cpp basesys.zip
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- Discover UNIX and Linux Command line combinations to Expand your *nix vocabulary
- Linux text utilities - an overview of text tools for noobs
- Howto: Use vim viewports
- I will show you mine if you show me yours - Displaying files
- Linux or UNIX Recover deleted files - undelete files
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: compressed_files, gz, gzip_format, text_files, uncompressed_files, zcat_command, zcmp_command, zdiff_command, zdump_command, zegrep_command, zfgrep_command, zgrep_command, zless_command, zmore_command, znew_command



Another good thing to remember is vim can handle gzipped files so if your that anal over space you can still edit the file.
For reading a BZipped file…
bzcat file.xml.bz2
hey thanks for zcommand, really useful
gregf, oh yes I forgot about vim handling .gz file. Good reminder…
Binnay, another good reminder
raj, no problem
Appreciate all of your posts!
Or just make sure you are using gnu less because it autodetects and autodecompresses gzip / bz2 files for you.