9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Mg (Mail grep)
@ 2008-11-18 22:29 a
  2008-11-18 22:54 ` erik quanstrom
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: a @ 2008-11-18 22:29 UTC (permalink / raw)
  To: 9fans

A few days ago, someone in #plan9 asked how to search for all
messages with a certain string in Acme Mail. The provided answer
was "grep(1)", which has the advantage of being concise and
maybe nominally correct, but the disadvantage of being totally
useless as a practical answer.

Today I found myself needing the same thing again, so I wrote Mg.
I can't remember who wanted this, and it might be more widely
useful, so I've put it at /n/sources/contrib/anothy/bin/rc/Mg. It's
intended to be put in an Acme Mail tag line and invoked as
	Mg foo bar
although all it really cares about is being run from within a
/mail/fs/foo directory. For each argument, it will search the
subject and body of every message in that mailbox and ask the
plumber to open any matching messages.

Right now it does no error checking, always folds case, checks
body and subject always/only, has been only trivially tested, and
I'm somewhat skeptical of the multipart handling, but it's already
saved me more time than it took to write (which, except for the
suspect multipart handling, was less than the time it took to write
this note).

Mg depends on Dan Cross' 'walk' (/n/sources/contrib/cross/walk.c).




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-11-19 12:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-18 22:29 [9fans] Mg (Mail grep) a
2008-11-18 22:54 ` erik quanstrom
2008-11-19  5:16 ` Skip Tavakkolian
2008-11-19 12:01   ` a
2008-11-19  6:00 ` akumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).