Next: , Previous: mu 2047, Up: mu


3.17.8 mu filter

The mu filter command applies a chain of filters to the input. The filters to apply and their arguments are given in the command line. The full invocation syntax is:

      mu filter [option] filter-chain

The syntax for filter-chain in Backus-Naur form follows:

     <filter-chain> ::= <filter> | <filter-chain> "+" <filter>
     <filter> ::= <filter-spec> <ARG>*
     <filter-spec> ::= <WORD> | "~" <WORD>

where <WORD> stands for the filter name and <ARG> represents filter arguments. To obtain a list of known filter names, run:

     mu filter --list

Filters are applied in the order of their appearence, from left to right and operate in encode mode. The plus sign has the same meaning as pipe in shell. The default mode can be changed using the --decode (-d) and --encode (-e) options. Whatever the default mode is, a ‘~’ character before filter name reverts the mode for that filter alone.

For example, to encode the contents of file file.txt in Base64 run:

     mu filter base64 < file.txt

To convert it to base64 and use CRLF as line delimiters, run:

     mu filter base64 + crlf < file.txt

The following command will decode the produced output:

     mu filter --decode crlf + base64

It can also be written as

     mu filter ~crlf + ~base64

The following example converts the input from ISO-8859-2 to UTF-8, quotes eventual ‘From’ occurring at the beginning of a line, encodes the result in Base64 and changes line delimiters to CRLF:

     mu filter iconv iso-8859-2 utf-8 + from + base64 + crlf

This final example removes UNIX-style comments from the input and joins continuation lines:

     mu filter --decode inline-comment -S '#' + linecon

Such invocation can be useful in shell scripts to facilitate configuration file processing.