2024-02-17 23:43:22 -07:00
|
|
|
.\" 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/>.
|
2024-06-02 18:47:14 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.TH mm 1
|
|
|
|
.SH NAME
|
|
|
|
mm \(en middleman
|
2024-06-02 18:47:14 -06:00
|
|
|
.\"
|
2024-06-03 23:07:19 -06:00
|
|
|
.SH SYNOPSIS
|
|
|
|
|
2024-02-17 23:43:22 -07:00
|
|
|
mm
|
|
|
|
.RB ( -aenu )
|
|
|
|
.RB ( -i
|
|
|
|
.RB [ input ])
|
|
|
|
.RB ( -o
|
|
|
|
.RB [ output ])
|
2024-06-02 18:47:14 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.SH DESCRIPTION
|
2024-06-03 23:07:19 -06:00
|
|
|
|
2024-03-26 18:44:05 -06:00
|
|
|
Catenate input files and write them to the start of each output file or stream.
|
2024-06-02 18:47:14 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.SH OPTIONS
|
2024-06-03 23:07:19 -06:00
|
|
|
|
2024-06-04 16:11:33 -06:00
|
|
|
.IP \fB-a\fP
|
2024-03-29 16:26:41 -06:00
|
|
|
Opens subsequent outputs for appending rather than updating.
|
2024-06-04 16:11:33 -06:00
|
|
|
.IP \fB-e\fP
|
2024-03-27 00:14:34 -06:00
|
|
|
Use the standard error as an output.
|
2024-06-04 16:11:33 -06:00
|
|
|
.IP \fB-i\fP
|
2024-03-26 18:44:05 -06:00
|
|
|
Opens a path as an input. Without any inputs specified mm will use the
|
2024-03-29 16:29:27 -06:00
|
|
|
standard input. The standard input shall be used as an input if one or more of
|
2024-06-04 16:11:33 -06:00
|
|
|
the input files is \(lq-\(rq.
|
|
|
|
.IP \fB-o\fP
|
2024-03-26 18:44:05 -06:00
|
|
|
Opens a path as an output. Without any outputs specified mm will use the
|
2024-03-29 16:29:27 -06:00
|
|
|
standard output. The standard output shall be used as an output if one or more
|
2024-06-04 16:11:33 -06:00
|
|
|
of the output files is \(lq-\(rq.
|
|
|
|
.IP \fB-u\fP
|
2024-03-26 18:44:05 -06:00
|
|
|
Ensures neither input or output will be buffered.
|
2024-06-04 16:11:33 -06:00
|
|
|
.IP \fB-n\fP
|
2024-03-26 18:44:05 -06:00
|
|
|
Causes SIGINT signals to be ignored.
|
2024-06-03 23:07:19 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.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.
|
2024-03-26 18:44:05 -06:00
|
|
|
|
|
|
|
When an error is encountered, diagnostic message is printed and the program
|
2024-06-03 23:45:26 -06:00
|
|
|
exits with the appropriate
|
|
|
|
.BR sysexits.h (3)
|
|
|
|
status.
|
2024-06-03 23:07:19 -06:00
|
|
|
.\"
|
2024-03-27 00:14:34 -06:00
|
|
|
.SH CAVEATS
|
2024-02-17 23:43:22 -07:00
|
|
|
|
2024-03-27 00:14:34 -06:00
|
|
|
Existing files are not truncated on ouput and are instead overwritten.
|
2024-06-03 23:07:19 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.SH RATIONALE
|
|
|
|
|
2024-06-03 23:45:26 -06:00
|
|
|
The
|
|
|
|
.BR cat (1p)
|
|
|
|
and
|
|
|
|
.BR tee (1p)
|
|
|
|
programs specified in POSIX together provide similar functionality. The
|
|
|
|
separation of the two sets of functionality into separate APIs seemed
|
|
|
|
unncessary.
|
2024-06-03 23:07:19 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.SH COPYRIGHT
|
|
|
|
|
2024-06-04 16:11:33 -06:00
|
|
|
Copyright \(co 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later
|
2024-02-17 23:43:22 -07:00
|
|
|
<https://gnu.org/licenses/agpl.html>.
|
2024-06-03 23:07:19 -06:00
|
|
|
.\"
|
2024-02-17 23:43:22 -07:00
|
|
|
.SH SEE ALSO
|
2024-06-02 18:47:14 -06:00
|
|
|
.BR cat (1p),
|
|
|
|
.BR dd (1),
|
|
|
|
.BR dj (1),
|
|
|
|
.BR tee (1p)
|