overgrown/docs/mm.1
2024-03-26 18:44:05 -06:00

86 lines
1.6 KiB
Groff

.\" Copyright (c) 2024 DTB <trinity@trinity.moe>
.\"
.\" This work is licensed under CC BY-SA 4.0. To see a copy of this license,
.\" visit <http://creativecommons.org/licenses/by-sa/4.0/>.
.TH mm 1
.SH NAME
mm \(en middleman
.SH SYNOPSIS
mm
.RB ( -aenu )
.RB ( -i
.RB [ input ])
.RB ( -o
.RB [ output ])
.SH DESCRIPTION
Catenate input files and write them to the start of each output file or stream.
.SH OPTIONS
.B -a
.RS
Opens subsequent outputs for appending rather than updating.
.RE
.B -e
.RS
Set the output to the standard error.
.RE
.B -i
.RS
Opens a path as an input. Without any inputs specified mm will use the
standard input.
.RE
.B -o
.RS
Opens a path as an output. Without any outputs specified mm will use the
standard output.
.RE
.B -u
.RS
Ensures neither input or output will be buffered.
.RE
.B -n
.RS
Causes SIGINT signals to be ignored.
.RE
.SH DIAGNOSTICS
If an output can no longer be written mm prints a diagnostic message, ceases
writing to that particular output, and if there are more outputs specified,
continues, eventually exiting unsuccessfully.
When an error is encountered, diagnostic message is printed and the program
exits with the appropriate sysexits.h(3) status.
.SH BUGS
Existing files are not truncated, which may lead to unexpected results.
.SH RATIONALE
The cat(1p) and tee(1p) programs specified in POSIX provide equivalent
functionality. The separation of the two sets of functionality into separate
APIs seemed unncessary.
.SH COPYRIGHT
Copyright (c) 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later
<https://gnu.org/licenses/agpl.html>.
.SH SEE ALSO
cat(1p), dd(1), dj(1), tee(1p)