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

RELATED TO zzat…

zzuf(3), libzzuf(3)

AUTHOR

Copyright © 2002-2010 Sam Hocevar <[email protected]>.

zzat and this manual page are free software. They come without any warranty, 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 Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more details.

zzuf's webpage can be found at http://caca.zoy.org/wiki/zzuf. An overview of the architecture and inner works is at http://caca.zoy.org/wiki/zzuf/internals.