See the file INSTALL for compilation and installation instructions.

Description

Zutils is a collection of utilities able to process any combination of
compressed and uncompressed files transparently. If any file given,
including standard input, is compressed, its decompressed content is used.
Compressed files are decompressed on the fly; no temporary files are
created. Data format is detected by its identifier string (magic bytes), not
by the file name extension. Empty files are considered uncompressed.

These utilities are not wrapper scripts but safer and more efficient C++
programs. In particular the option '--recursive' is efficient in those
utilities supporting it.

The utilities provided are zcat, zcmp, zdiff, zgrep, ztest, and zupdate.
The formats supported are bzip2, gzip, lzip, xz, and zstd.
Zutils uses external compressors. The compressor to be used for each format
is configurable at runtime.

zcat, zcmp, zdiff, and zgrep are improved replacements for the shell scripts
provided by GNU gzip. ztest is unique to zutils. zupdate is similar to
gzip's znew.

NOTE: Bzip2 and lzip provide well-defined values of exit status, which makes
them safe to use with zutils. Gzip and xz do not meet zutils' requirements;
they may return ambiguous warning values, which makes them less reliable
back ends for zutils. Zstd currently does not even document its exit status
in its man page.

FORMAT NOTE 1: The option '--format' allows the processing of a subset
of formats in recursive mode and when trying compressed file names. For
example, use the following command to search for the string 'foo' in
gzip and lzip files only:
'zgrep foo -r --format=gz,lz somedir somefile.tar'.

FORMAT NOTE 2: The standard POSIX compress format (.Z) is obsolete and is
only supported through gzip. For this to work, the gzip program used (for
example GNU gzip) must be able to decompress .Z files.

LANGUAGE NOTE: Uncompressed = not compressed = plain data; it may never have
been compressed. Decompressed is used to refer to data which have undergone
the process of decompression.

Zutils uses Arg_parser for command-line argument parsing:
http://www.nongnu.org/arg-parser/arg_parser.html


Copyright (C) 2009-2026 Antonio Diaz Diaz.

This file is free documentation: you have unlimited permission to copy,
distribute, and modify it.

The file Makefile.in is a data file used by configure to produce the Makefile.
It has the same copyright owner and permissions that configure itself.
