msed(1)

msed1

Manipulate message headers

Usage

msed script [msgs ...]

Overview

msed prints the messages msgs with message headers transformed by the commands in script.( See mmsg(7) for the message argument syntax.) If no msgs are passed, msed will default to the current message.

msed scripts are akin to a subset of sed(1) scripts, but optimized for modifying messages. Note that msed unfolds and normalizes message headers, so they may need to be passed through mmime(7) to ensure RFC 5322 conformance. The message body is not affected.

msed supports the following commands. The separators after the command letter may be substituted with an arbitrary symbol, just as in sed(1). Multiple commands can be separated by ‘;’.

/header/a/value/

If the header ‘header:’ is not set in the message, add it with the given value.

/headers/c/value/

Change colon-separated headers matching the regular expression headers, with implicit anchoring to the header name, to the value given in value.

/headers/d

Delete colon-separated headers matching the regular expression headers, with implicit anchoring to the header name. Use explicit ‘.*’ to match arbitrary strings at the beginning or end of the headers.

For example, ‘/x-.*/d’ will delete all headers starting with ‘X-’ (always case insensitive), and ‘/from:to:cc/d’ will delete the headers ‘From:’, ‘To:’, and ‘Cc:’.

[/headers/]s/regex/replacement/[flags]

Substitute matches of the POSIX Basic Regular Expression regex in headers matching the POSIX Basic Regular Expression headers, with implicit anchoring to the header name (or all headers, if omitted), with the string replacement, expanding ‘&’ to the matched string, and ‘\N’ to theN th sub-expression, where N is between 1 and 9.

If flags contains the letter ‘d’, the header is removed if regex matched.

By default, only the first match is replaced, unless flags contains the letter ‘g’.

By default, regex is matched case sensitively, unless flags contains the letter ‘i’.

Exit status

The msed utility exits 0 on success, and >0 if an error occurs.

Releases

Unchanged in 4 releases since Debian 10 (Buster).

  1. 10–13

Authors

Leah Neukirchen ⟨[email protected]⟩

License

msed is in the public domain.

To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work.

http://creativecommons.org/publicdomain/zero/1.0/

From mblaze 1.1-1 in Debian 13 (Trixie). Parsed by carta from the page's mdoc source.