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. 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.

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

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
-V, --version
output version information and exit
-a, --text
treat all files as text
-A, --after-context=<n>
print <n> lines of trailing context
-b, --byte-offset
print the byte offset of each line
-B, --before-context=<n>
print <n> lines of leading context
-c, --count
only print a count of matching lines per file
-C, --context=<n>
print <n> lines of output context
show matched strings in color
-e, --regexp=<pattern>
use <pattern> as the pattern to match
-E, --extended-regexp
<pattern> is an extended regular expression
-f, --file=<file>
obtain patterns from <file>
-F, --fixed-strings
<pattern> is a set of newline-separated strings
-h, --no-filename
suppress the prefixing filename on output
-H, --with-filename
print the filename for each match
-i, --ignore-case
ignore case distinctions
ignore binary files
-l, --files-with-matches
only print names of files containing matches
-L, --files-without-match
only print names of files containing no matches
-m, --max-count=<n>
stop after <n> matches
-M, --format=<list>
process only the formats in <list>
-n, --line-number
print the line number of each line
-N, --no-rcfile
don't read runtime configuration file
-o, --only-matching
show only the part of a line matching <pattern>
-O, --force-format=<fmt>
force the format given (bz2, gz, lz, xz)
-q, --quiet
suppress all messages
-r, --recursive
operate recursively on directories
-R, --dereference-recursive
recursively follow symbolic links
-s, --no-messages
suppress error messages
-v, --invert-match
select non-matching lines
verbose mode (show error messages)
-w, --word-regexp
match only whole words
-x, --line-regexp
match only whole lines
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

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 © 2020 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.
June 2020 zgrep (zutils) 1.9