---
name: "ap"
section: "8"
platform: "linux"
package: "nmh"
version: "1.5-release-0.2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/ap"
---

# ap(8)

parse addresses 822-style

## NAME

ap - parse addresses 822-style

## SYNOPSIS

**/usr/lib/mh/ap** \[**-form** *formatfile*\] \[**-format** *string*\] \[**-normalize** \| **-nonormalize**\] \[**-width** *columns*\] \[**-version**\] \[**-help**\] *addrs* ...

## DESCRIPTION

**Ap** is a program that parses addresses according to the ARPA Internet standard.  It also understands many non-standard formats. It is useful for seeing how **nmh** will interpret an address.

The **ap** program treats each argument as one or more addresses, and prints those addresses out in the official 822-format.  Hence, it is usually best to enclose each argument in quotes for the shell.

To override the output format used by **ap**, the **-format** *string* or **-format** *file* switches are used.  This permits individual fields of the address to be extracted with ease.  The string is simply a format string, and the file is simply a format file.  See [**mh-format**(5)](/mh-format/5.md) for the details.

In addition to the standard escapes, **ap** also recognizes the following additional escape:

```
Escape	Returns	Description
error	string	A diagnostic if the parse failed
```

If the **-normalize** switch is given, **ap** will try to track down the official hostname of the address.

Here is the default format string used by **ap**:

%\<{error}%{error}: %{text}%\|%(putstr(proper{text}))%\>

which says that if an error was detected, print the error, a \`:', and the address in error.  Otherwise, output the 822-proper format of the address.

## FILES

```
^$HOME/.mh_profile~^The user profile
^/etc/nmh/mts.conf~^nmh mts configuration file
```

## PROFILE COMPONENTS

None

## SEE ALSO

[dp(8)](/dp/8.md), *Standard for the Format of ARPA Internet Text Messages* (RFC-822)

## DEFAULTS

```
`-format' defaults as described above
`-normalize'
`-width' defaults to the width of the terminal
```

## CONTEXT

None

## BUGS

The argument to the **-format** switch must be interpreted as a single token by the shell that invokes **ap**. Therefore, one must usually place the argument to this switch inside quotes.
