g3cat(1)
π¦ g3cat β bestie, let's talk about gluing fax pages together π¦
okay so this one's from the mgetty+sendfax manual, and it's genuinely one of my faves because it does one thing and does it flawlessly. it's g3cat(1), and she concatenates. that's the whole personality. π
β¨ NAME β¨
g3cat β concatenate multiple g3 documents. yeah. she takes your g3 files and she stacks them. no cap.
πΈ SYNOPSIS πΈ
g3cat [-l] [-a] g3-file1 ...
π DESCRIPTION π
so g3cat concatenates g3 files, fr fr. and those files can be either:
- 'raw' β like, bitmaps packed according to the CCITT T.4 standard for one-dimensional bitmap encoding, iykyk
- 'digifax' β the ones created by GNU's GhostScript package with the digifax drivers
her output is a concatenation of all the input files, in raw G3 format, with two white lines in between. cute, right?
if you hand her a - as an input file, she reads from stdin. iconic behaviour honestly.
β οΈ and listen β if the input data is malformed, a warning gets printed to stderr, and the output file will have a blank line at that place. she's not gonna crash on you, she's just gonna leave a lil gap and keep going. π
π OPTIONS π
-lβ separate files with a one-pixel wide black line. yes, literally one pixel. she's precise like that.-h<blank lines>β specifies the number of blank linesg3catshould prepend to each page. default is0.-L<lines>β limit the length of the output page to maximum<lines>lines.
π SPECIAL-CASE OPTIONS π
these ones are lowkey the main character energy options, ngl.
-w<width>β specifies the desired page width in pixels per line. default is1728PELs, and this is mandatory if you want to send the fax to a standard fax machine. and if one of the input files doesn't match this line width (for example because it was created by a broken G3 creator π), a warning is printed, and the line width is transparently fixed. she fixes it. quietly. slay.-aβ byte-align the end-of-line codes (EOL) in the file. every EOL will end at a byte boundary, that is, with a01byte.-p<pad>β specifies a minimum number of bytes that each output line must be padded to. padding is done with 0-bits before the EOL code.-Rβ suppress output of end-of-page code (RTC).
β Example β
the following example will put a header line on a given g3 page, 'page1', and put the result into 'page2':
echo '$header' | pbmtext | pbm2g3 | g3cat - page1 >page2
like, look at that pipeline. art. π¨
π§ FILES π§
--
π BUGS π
Hopefully none :-).
(her words, not mine. she's confident. we love that for her. π)
π₯ SEE ALSO π₯
g32pbm(1), sendfax(8), faxspool(1)
π«Ά AUTHORS π«Ά
g3cat is Copyright (C) 1993 by Gert Doering, <gert@greenie.muc.de>
okay that's the whole page bestie, and before you go β this lil masterpiece came from greenie, dated 27 Oct 93, and it lives under the name g3cat(1) in the mgetty+sendfax manual. periodt. πβ¨π¦
π¦ where this page comes from
- debian bookworm: mgetty-fax 1.2.1-1.2
- debian trixie: mgetty-fax 1.2.1-2
- opensuse-leap 16.0: g3utils 1.2.1-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: g3utils 1.2.1-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: g3utils 1.2.1-bp160.1.13 Β· GPL-2.0-or-later
- opensuse-leap 16.0: g3utils 1.2.1-bp160.1.13 Β· GPL-2.0-or-later
- ubuntu jammy: mgetty-fax 1.2.1-1.1
- ubuntu noble: mgetty-fax 1.2.1-1.2
- ubuntu questing: mgetty-fax 1.2.1-3
- ubuntu resolute: mgetty-fax 1.2.1-5
- ubuntu stonking: mgetty-fax 1.2.1-8
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms