Scroll to navigation

ZDIFF(1) User Commands ZDIFF(1)


zdiff - decompress and compare two files line by line


zdiff [options] file1 [file2]


zdiff compares two files and, if they differ, writes to standard output the differences line by line. A hyphen '-' used as a file argument means standard input. If any file given is compressed, its decompressed content is used. zdiff is a front end to the program diff and has the limitation that messages from diff refer to temporary file names instead of those specified.

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

zdiff compares file1 to file2. The standard input is used only if file1 or file2 refers to standard input. If file2 is omitted zdiff tries the following:

- If file1 is compressed, compares its decompressed contents with the corresponding uncompressed file (the name of file1 with the extension removed).
- If file1 is uncompressed, compares it with the decompressed contents of file1.[lz|bz2|gz|xz] (the first one that is found).

Exit status is 0 if inputs are identical, 1 if different, 2 if trouble. Some options only work if the diff program used supports them.


-h, --help
display this help and exit
-V, --version
output version information and exit
-a, --text
treat all files as text
-b, --ignore-space-change
ignore changes in the amount of white space
-B, --ignore-blank-lines
ignore changes whose lines are all blank
use the context output format
-C, --context=<n>
same as -c but use <n> lines of context
-d, --minimal
try hard to find a smaller set of changes
-E, --ignore-tab-expansion
ignore changes due to tab expansion
-i, --ignore-case
ignore case differences in file contents
-M, --format=<list>
process only the formats in <list>
-N, --no-rcfile
don't read runtime configuration file
-O, --force-format=[<f1>][,<f2>]
force the formats given (bz2, gz, lz, xz)
-p, --show-c-function
show which C function each change is in
-q, --brief
output only whether files differ
-s, --report-identical-files
report when two files are identical
-t, --expand-tabs
expand tabs to spaces in output
-T, --initial-tab
make tabs line up by prepending a tab
use the unified output format
-U, --unified=<n>
same as -u but use <n> lines of context
-w, --ignore-all-space
ignore all white space
-W, --width=<n>
output at most <n> print columns
-y, --side-by-side
output in two columns
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


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 zdiff (zutils) 1.9