.\" Copyright (c) 2024 DTB .\" .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license, .\" visit . .TH mm 1 .SH NAME mm \(en middleman .SH SYNOPSIS mm .RB ( -aenu ) .RB ( -i .RB [ input ]) .RB ( -o .RB [ output ]) .SH DESCRIPTION Mm catenates input files and writes them to the start of each output file. .SH OPTIONS Mm, upon receiving the .B -a option, will open subsequent outputs for appending rather than updating. .PP The .B -i option opens a path as an input. Without any inputs specified mm will use standard input. Standard input itself can be specified by giving the path '-'. .PP The .B -o option opens a path as an output. Without any outputs specified mm will use standard output. Standard output itself can be specified by giving the path '-'. Standard error itself can be specified with the .B -e option. .PP The .B -u option ensures neither input or output will be buffered. .PP The .B -n option tells mm to ignore SIGINT signals. .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. .PP On error mm prints a diagnostic message and exits with the appropriate sysexits.h(3) status. .SH BUGS Mm does not truncate existing files, which may lead to unexpected results. .SH RATIONALE Mm was modeled after the cat and tee utilities specified in POSIX. .SH COPYRIGHT Copyright (C) 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later . .SH SEE ALSO cat(1p), dd(1), dj(1), tee(1p)