zzat(1)
π zzat(1) β the manual, but make it slay π
okay so bestie, listen up π this is zzat, a General Commands Manual situation, and honestly? she's lowkey iconic and nobody talks about her. let's fix that.
β¨ NAME β¨
zzat β concatenate files using different instruction sequences π¦
like cat but she went to therapy and came back with options about how she reads things. periodt.
πΈ SYNOPSIS πΈ
zzat [-AbdeEntTv] [-r loops] [-x sequence] [FILE]...
zzat -l | --list
zzat -h | --help
zzat -V | --version
π DESCRIPTION π
zzat reads files sequentially and writes them to standard output. the plot twist? YOU get to decide which sequence of library calls is used to seek and read the data. like, you're the director. main character energy fr fr. π
zzat is primarily used as a debugging tool for zzuf, because it can emulate different programs' ways to read files. it's giving "method acting, but for file I/O." π
π OPTIONS π
-A,--show-allβ equivalent to-vET. the whole glow-up bundle β¨-b,--number-nonblankβ number nonempty output lines. blank lines stay unnumbered, they're on their own journey π-d,--debugβ output debugging information. spill the tea, bestie π«-eβ equivalent to-vET.-E,--show-endsβ display$at end of each line. yes, literally a dollar sign, she's fancy π-n,--numberβ number all output lines. every single one. no line left behind π₯°-r,--repeat=loopsβ concatenate all files loops times. again and again and again, obsessed with repetition, we love a consistent queen π-tβ equivalent to-vT.-T,--show-tabsβ display TAB characters as^I. tab girlies, we see you π«Ά-v,--show-nonprintingβ use^andM-notation, except for LFD and TAB. the weird invisible characters get exposed, no more hiding π-x,--execute=sequenceβ read a file or a stream using the instruction sequence specified in sequence. this is the whole point, bestie, this is the moment π
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. the menu, the lineup, the whole roster πβ¨-h,--helpβ display a short help message and exit. she's helpful AND humble π-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 Β© 2002-2015 Sam Hocevar <sam@hocevar.net>.
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 the WTFPL Task Force. See http://www.wtfpl.net/ for more details. honestly? the most unhinged and correct license. she said do whatever. queen behavior. π
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.
and that's the whole page, bestie π this was zzat version 0.15, dated 2015-01-06 β a vintage queen who still eats every single time. go read some files weirdly, you deserve it π¦β¨π
π¦ where this page comes from
- arch rolling: zzuf 0.15-4 Β· WTFPL
- debian bookworm: zzuf 0.15-2+b3 Β· WTFPL-2
- debian trixie: zzuf 0.15-5+b1 Β· WTFPL-2
- fedora 43: zzuf 0.15-25.fc43 Β· WTFPL
- fedora 44: zzuf 0.15-26.fc44 Β· WTFPL
- nixos 26.05: zzuf 0.15
- nixpkgs unstable: zzuf 0.15
- ubuntu noble: zzuf 0.15-2build3 Β· WTFPL-2
- ubuntu questing: zzuf 0.15-5build2
- ubuntu resolute: zzuf 0.15-5ubuntu1 Β· WTFPL-2
- ubuntu stonking: zzuf 0.15-5ubuntu2 Β· WTFPL-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms