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

# sortm(1)

sort messages

## NAME

sortm - sort messages

## SYNOPSIS

**sortm** \[*+folder*\] \[*msgs*\] \[**-datefield** *field*\] \[**-textfield** *field*\] \[**-notextfield**\] \[**-limit** *days*\] \[**-nolimit**\] \[**-verbose** \| **-noverbose**\] \[**-version**\] \[**-help**\]

## DESCRIPTION

**Sortm** sorts the specified messages in the named folder according to the chronological order of the “Date:” field of each message.

The **-verbose** switch directs **sortm** to tell the user the general actions that it is taking to place the folder in sorted order.

The **-datefield** *field* switch tells **sortm** the name of the field to use when making the date comparison.  If the user has a special field in each message, such as “BB-Posted:” or “Delivery-Date:”, then the **-datefield** switch can be used to direct **sortm** which field to examine.

The **-textfield** *field* switch causes **sortm** to sort messages by the specified text field.  If this field is “subject”, any leading "re:" is stripped off.  In any case, all characters except letters and numbers are stripped and the resulting strings are sorted datefield-major, textfield-minor, using a case insensitive comparison.

With **-textfield** *field*, if **-limit** *days* is specified, messages with similar textfields that are dated within \`days' of each other appear together.  Specifying **-nolimit** makes the limit infinity. With **-limit** *0*, the sort is instead made textfield-major, date-minor.

For example, to order a folder by date-major, subject-minor, use:

sortm -textfield subject +folder

## FILES

```
^$HOME/.mh_profile~^The user profile
```

## PROFILE COMPONENTS

```
^Path:~^To determine the user's nmh directory
^Current-Folder:~^To find the default current folder
```

## SEE ALSO

[folder(1)](/folder/1.md)

## DEFAULTS

```
`+folder' defaults to the current folder
`msgs"'defaultstoall"
`-datefield' defaults to date
`-notextfield'
`-noverbose'
`-nolimit'
```

## CONTEXT

If a folder is given, it will become the current folder.  If the current message is moved, **sortm**\
  will preserve its status as current.

## HISTORY

Timezones used to be ignored when comparing dates: they aren't any more.

Messages which were in the folder, but not specified by \`msgs', used to be moved to the end of the folder; now such messages are left untouched.

**Sortm** sometimes did not preserve the message numbering in a folder (e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3 after sorting).  This was a bug, and has been fixed.  To compress the message numbering in a folder, use “**folder -pack**” as always.

## BUGS

If **sortm** encounters a message without a date-field, or if the message has a date-field that **sortm** cannot parse, then **sortm** attempts to keep the message in the same relative position.  This does not always work.  For instance, if the first message encountered lacks a date which can be parsed, then it will usually be placed at the end of the messages being sorted.

When **sortm** complains about a message which it can't temporally order, it complains about the message number **prior** to sorting. It should indicate what the message number will be **after** sorting.
