#!/bin/bash
# url: http://pank.org/scripts/
# description: extract mail from mailbox file by email
# comment: bash
# platform: freebsd, linux

if [ -z $2 ] ; then
    echo "`basename $0` {mailbox} {email}"
    exit
fi
MBOX=$1
EMAIL=$2
OUTPUT=mbox
L1=$(grep -n "`grep '^From ' $MBOX | grep $EMAIL | head -1`" $MBOX | cut -d: -f1)
L2=$(grep -n "`grep '^From ' $MBOX | grep -A1 $EMAIL | sed -n 2p`" $MBOX | cut -d: -f1)
let L2--
sed -n "$L1,$L2"p $MBOX >> $OUTPUT
if [ $HOSTTYPE = FreeBSD ] ; then
    sed -i '' "$L1,$L2"d $MBOX
else
    sed -i "$L1,$L2"d $MBOX
fi