zzat(1) General Commands Manual zzat(1)
NAME
zzat - concatenate files using different instruction sequences
SYNOPSIS
zzat [-AbdeEntTv] [-r loops] [-x sequence] [FILE]...
zzat -l | --list
zzat -h | --help
zzat -V | --version
DESCRIPTION
The zzat utility reads files sequentially, writing them to the standard
output. The user can decide which sequence of library calls is used to
seek and read data.
zzat is primarily used as a debugging tool for zzuf, because it can em-
ulate different programs' ways to read files.
OPTIONS
-A, --show-all
Equivalent to -vET.
-b, --number-nonblank
Number nonempty output lines.
-d, --debug
Output debugging information.
-e Equivalent to -vET.
-E, --show-ends
Display $ at end of each line.
-n, --number
Number all output lines.
-r, --repeat=loops
Concatenate all files loops times.
-t Equivalent to -vT.
-T, --show-tabs
Display TAB characters as ^I.
-v, --show-nonprinting
Use ^ and M- notation, except for LFD and TAB.
-x, --execute=sequence
Read a file or a stream using the instruction sequence specified
in sequence.
Instructions are executed sequentially until the end of the pro-
gram. End-of-file is not an exit condition, except where the
feof keyword is used:
fread(1,10); feof(1); fread(1,10)
Loops are permitted using the repeat keyword. Again, feof can be
used to prematurely break out of a loop:
repeat(10000, fgetc() feof(1))
Instructions can be separated by spaces, commas or semicolons.
A list of all available instructions and control keywords can be
obtained using this command:
zzat -l
If no sequence is specified, the following default sequence is
used:
repeat(-1, fread(1,32768), feof(1))
-l, --list
Display the list of supported keywords and functions and exit.
-h, --help
Display a short help message and exit.
-V, --version
Output version information and exit.
EXAMPLES
Read the first 1000 bytes of f, then exit:
zzat -x 'fread(1,1000)' f
Read the first four bytes of f, using four different instructions:
zzat -x 'getc(),fgetc(),getc_unlocked(),_IO_getc()' f
Read f entirely, by calling getc() repeatedly until end-of-file is
reached:
zzat -x 'repeat(-1, getc(), feof(1))' f
Read f entirely, in chunks of 32768 bytes until end-of-file is reached:
zzat -x 'repeat(-1, fread(1,32768), feof(1))' f
SEE ALSO
zzuf(3), libzzuf(3)
AUTHOR
Copyright (C) 2002-2015 Sam Hocevar <sam@hocevar.net>.
zzat and this manual page are free software. They come without any war-
ranty, to the extent permitted by applicable law. You can redistribute
them and/or modify them under the terms of the Do What the Fuck You
Want to Public License, Version 2, as published by the WTFPL Task
Force. See http://www.wtfpl.net/ for more details.
zzuf's webpage can be found at http://caca.zoy.org/wiki/zzuf. An over-
view of the architecture and inner works is at
http://caca.zoy.org/wiki/zzuf/internals.
zzat 0.15 2015-01-06 zzat(1)