Scroll to navigation

ZGREP(1) User Commands ZGREP(1)


zgrep - search compressed files for a regular expression


zgrep [options] <pattern> [files]


zgrep is a front end to the program grep that allows transparent search on any combination of compressed and uncompressed files. If any file given is compressed, its decompressed content is used. If a file given does not exist, and its name does not end with one of the known extensions, zgrep tries the compressed file names corresponding to the formats supported until one is found. If a file fails to decompress, zgrep continues searching the rest of the files.

If a file is specified as '-', data are read from standard input, decompressed if needed, and fed to grep. Data read from standard input must be of the same type; all uncompressed or all in the same compressed format.

If no files are specified, recursive searches examine the current working directory, and nonrecursive searches read standard input.

'zgrep --verbose -V' prints the version of the grep program used.

The formats supported are bzip2, gzip, lzip, xz, and zstd.

Exit status is 0 if match, 1 if no match, 2 if trouble. Some options only work if the grep program used supports them.


display this help and exit
output version information and exit
treat all files as text
print <n> lines of trailing context
print the byte offset of each line
print <n> lines of leading context
only print a count of matching lines per file
print <n> lines of output context
show matched strings in color
use <pattern> as the pattern to match
<pattern> is an extended regular expression
obtain patterns from <file>
<pattern> is a set of newline-separated strings
<pattern> is a basic regular expression (default)
suppress the prefixing file name on output
print the file name for each match
ignore case distinctions
ignore binary files
only print names of files containing matches
only print names of files containing no matches
use <label> as file name for standard input
flush output on every line
stop after <n> matches
process only the formats in <list>
print the line number of each line
don't read runtime configuration file
show only the part of a line matching <pattern>
force the input format
<pattern> is a Perl regular expression
suppress all messages
operate recursively on directories
recursively follow symbolic links
suppress error messages
make tabs line up (if needed)
don't strip CR characters at EOL (DOS/Windows)
select non-matching lines
verbose mode (show error messages)
match only whole words
match only whole lines
print 0 byte (ASCII NUL) after file name
set compressor and options for bzip2 format
set compressor and options for gzip format
set compressor and options for lzip format
set compressor and options for xz format
set compressor and options for zstd format

Valid formats for options '-M' and '-O' are 'bz2', 'gz', 'lz', 'xz', 'zst', and 'un' for uncompressed.

Numbers may be followed by a multiplier: k = kB = 10^3 = 1000, Ki = KiB = 2^10 = 1024, M = 10^6, Mi = 2^20, G = 10^9, Gi = 2^30, etc...


Report bugs to
Zutils home page:


Copyright © 2024 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


The full documentation for zgrep is maintained as a Texinfo manual. If the info and zgrep programs are properly installed at your site, the command

info zutils

should give you access to the complete manual.

January 2024 zutils 1.13