summaryrefslogtreecommitdiffstats
path: root/doc/zutils.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/zutils.texi')
-rw-r--r--doc/zutils.texi97
1 files changed, 76 insertions, 21 deletions
diff --git a/doc/zutils.texi b/doc/zutils.texi
index 34a3128..6324814 100644
--- a/doc/zutils.texi
+++ b/doc/zutils.texi
@@ -6,8 +6,8 @@
@finalout
@c %**end of header
-@set UPDATED 25 January 2022
-@set VERSION 1.11
+@set UPDATED 12 April 2022
+@set VERSION 1.12-pre2
@dircategory Compression
@direntry
@@ -94,10 +94,9 @@ example, use the following command to search for the string @samp{foo} in
gzip and lzip files only:
@w{@samp{zgrep foo -r --format=gz,lz somedir somefile.tar}}.
-FORMAT NOTE 2: If the option @samp{--force-format} is given, the files are
-passed to the corresponding decompressor without verifying their format,
-allowing for example the processing of compress'd (.Z) files with gzip:
-@w{@samp{zcmp --force-format=gz file.Z file.lz}}.
+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
@@ -163,7 +162,7 @@ extensions:
@multitable {bz2} {enables} {any other file name}
@item bz2 @tab enables @tab .bz2 .tbz .tbz2
-@item gz @tab enables @tab .gz .tgz
+@item gz @tab enables @tab .gz .tgz .Z
@item lz @tab enables @tab .lz .tlz
@item xz @tab enables @tab .xz .txz
@item zst @tab enables @tab .zst .tzst
@@ -531,6 +530,15 @@ program used.
@itemx --ignore-all-space
Ignore all white space.
+@item -W @var{columns}
+@itemx --width=@var{columns}
+Output at most the specified number of print columns per line in side by
+side format.
+
+@item -y
+@itemx --side-by-side
+Use the side by side output format.
+
@end table
@@ -564,8 +572,9 @@ zgrep [@var{options}] @var{pattern} [@var{files}]
An exit status of 0 means at least one match was found, 1 means no
matches were found, and 2 means trouble.
-zgrep supports the following options (some options only work if the grep
-program used supports them):
+zgrep supports the following options (Some options only work if the grep
+program used supports them. Options -h, -H, -r, -R, and -Z are managed by
+zgrep and not passed to grep):
@table @code
@item -a
@@ -602,7 +611,7 @@ Use @var{pattern} as the pattern to match.
@item -E
@itemx --extended-regexp
-Treat @var{pattern} as an extended regular expression.
+Interpret @var{pattern} as an extended regular expression (ERE).
@item -f @var{file}
@itemx --file=@var{file}
@@ -614,7 +623,12 @@ used with @samp{-e} to read @var{file} only once, for example if
@item -F
@itemx --fixed-strings
-Treat @var{pattern} as a set of newline-separated strings.
+Interpret @var{pattern} as a set of newline-separated strings.
+
+@item -G
+@itemx --basic-regexp
+Interpret @var{pattern} as a basic regular expression (BRE). This is the
+default.
@item -h
@itemx --no-filename
@@ -643,6 +657,13 @@ Note: option -L fails (prints wrong results, returns wrong status, and even
hangs) when using GNU grep versions 3.2 to 3.4 inclusive because of a wrong
change in the exit status of grep, which was reverted in GNU grep 3.5.
+@item --label=@var{label}
+Display input actually coming from standard input as input coming from file
+@var{label}.
+
+@item --line-buffered
+Use line buffering on output. This may cause a performance penalty.
+
@item -m @var{n}
@itemx --max-count=@var{n}
Stop after @var{n} matches.
@@ -663,8 +684,13 @@ is used, the files are passed to the corresponding decompressor without
verifying their format, and the exact file name must be given. Other names
won't be tried.
+@item -P
+@itemx --perl-regexp
+Interpret @var{pattern} as a Perl-compatible regular expression (PCRE).
+
@item -q
@itemx --quiet
+@itemx --silent
Suppress all messages. Exit immediately with zero status if any match is
found, even if an error was detected.
@@ -683,6 +709,16 @@ recursively, following all symbolic links.
@itemx --no-messages
Suppress error messages about nonexistent or unreadable files.
+@item -T
+@itemx --initial-tab
+Make sure that the first character of actual line content lies on a tab
+stop, so that the alignment of tabs looks normal.
+
+@item -U
+@itemx --binary
+Use binary I/O on platforms affected by the bug known as "text mode I/O".
+(MS-DOS, MS-Windows, OS/2).
+
@item -v
@itemx --invert-match
Select non-matching lines.
@@ -699,6 +735,14 @@ Match only whole words.
@itemx --line-regexp
Match only whole lines.
+@item -Z
+@itemx --null
+Output a zero byte (the ASCII NUL character) instead of the character that
+normally follows a file name. For example, 'zgrep -lZ' outputs a zero byte
+after each file name instead of the usual newline. This option makes the
+output unambiguous, even in the presence of file names containing unusual
+characters like newlines.
+
@end table
@@ -752,8 +796,7 @@ Force the compressed format given. Valid values for @var{format} are
@samp{bz2}, @samp{gz}, @samp{lz}, @samp{xz}, and @samp{zst}. If this option
is used, the files are passed to the corresponding decompressor without
verifying their format, and any files in a format that the decompressor
-can't understand will fail. For example, @samp{--force-format=gz} can test
-gzipped (.gz) and compress'd (.Z) files if the compressor used is GNU gzip.
+can't understand will fail.
@item -q
@itemx --quiet
@@ -810,8 +853,8 @@ Combining the options @samp{--force} and @samp{--keep}, as in
between each pair of files in a multiformat set of files.
The names of the original files must have one of the following extensions:@*
-@samp{.bz2}, @samp{.gz}, @samp{.xz}, or @samp{.zst}, which are recompressed
-to @samp{.lz};@*
+@samp{.bz2}, @samp{.gz}, @samp{.xz}, @samp{.zst}, or @samp{.Z}, which are
+recompressed to @samp{.lz};@*
@samp{.tbz}, @samp{.tbz2}, @samp{.tgz}, @samp{.txz}, or @samp{.tzst}, which
are recompressed to @samp{.tlz}.@*
Keeping the combined extensions (@samp{.tgz} --> @samp{.tlz}) may be useful
@@ -821,11 +864,11 @@ Bzip2, gzip, and lzip are the primary formats. Xz and zstd are optional. If
the decompressor for the xz or zstd formats is not found, the corresponding
files are ignored.
-Recompressing a file is much like copying or moving it; therefore zupdate
-preserves the access and modification dates, permissions, and, when
-possible, ownership of the file just as @w{@samp{cp -p}} does. (If the user ID or
-the group ID can't be duplicated, the file permission bits S_ISUID and
-S_ISGID are cleared).
+Recompressing a file is much like copying or moving it. Therefore zupdate
+preserves the access and modification dates, permissions, and, if you have
+appropriate privileges, ownership of the file just as @w{@samp{cp -p}} does.
+(If the user ID or the group ID can't be duplicated, the file permission
+bits S_ISUID and S_ISGID are cleared).
The format for running zupdate is:
@@ -835,11 +878,19 @@ zupdate [@var{options}] [@var{files}]
@noindent
Exit status is 0 if all the compressed files were successfully recompressed
-(if needed), compared, and deleted (if requested). Non-zero otherwise.
+(if needed), compared, and deleted (if requested). 1 if a non-fatal error
+occurred (file not found or not regular, or has invalid format, or can't be
+deleted). 2 if a fatal error occurred (compressor can't be run, or
+comparison fails).
zupdate supports the following options:
@table @code
+@item -e
+@itemx --expand-extensions
+Expand combined file name extensions; recompress @samp{.tbz}, @samp{.tbz2},
+@samp{.tgz}, @samp{.txz}, and @samp{.tzst} to @samp{tar.lz}.
+
@item -f
@itemx --force
Don't skip a file for which a lzip compressed version already exists.
@@ -847,6 +898,10 @@ Don't skip a file for which a lzip compressed version already exists.
of the existing lzip file and deletes the input file if both contents
are identical.
+@item -i
+@itemx --ignore-errors
+Ignore non-fatal errors. (See exit status above).
+
@item -k
@itemx --keep
Keep (don't delete) the input file after comparing it with the lzip file.