nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] showing the n messages 'around' a particular message

2006-01-18 10:10:33
On 17 January 2006 at 22:36, pmaydell@chiark.greenend.org.uk wrote:
A friend was trying to sort out a suitable shell alias/function for
doing a scan of the N messages 'around' the current one, by which I
mean something like "cur:-X cur:X" where X is N/2, except that if there
aren't X messages after cur you show more of the messages from before
cur, and vice-versa, and you don't give an error message if cur is
off the end of the folder or off the start or points to a message
you've just deleted. (The idea is that you want a "screenful" of
scan output, say, with cur somewhere in the middle.)

I can't think of a non-ugly way to do this.  A semi-ugly ;-) way is:

- Get a list of messages from "mhpath all" or "mhpath cur:-N cur:N"

- Strip off the path, leave the number

- Use grep -CN to get N lines of context around the current message
  number.  Use start- and end-of-line anchors (^ and $) to be sure
  you don't match any other messages.

For example, if you want up to 5 messages surrounding message 4363:

        $ mhpath 4363:-5 4363:5 | sed 's@.*/@@' | grep -C5 "^4363\$"
        4359
        4360
        4361
        4362
        4363
        4364
        4365

The last message in the folder is 4365.

Jerry


_______________________________________________
Nmh-workers mailing list
Nmh-workers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>