Сто лет назад написал такое:
! /bin/sh
EXTRA_HEADERS=" Received: Message:\
List-Id: List-Archive: List-Post: List-Help: List-Subscribe: List-Unsubscribe:\
Return-Path: Errors-To: Reply-To: Delivered-To: Mail-Followup-To: Sender:\
X-Envelope-To: X-BeenThere: X-Real-To:\
X-Mailman-Version: Precedence: Organization: Status:\
X-Spam: X-Spam-Level: X-Spam-Status: X-Spam-Checker-Version: X-Bogosity:\
X-Scanner: X-Virus-Scanned: X-AntiVirus:\
X-IP: X-Originating-IP:\
X-Accept-Language:\
X-From: X-Priority: X-MSMail-Priority: X-MimeOLE:\
X-Enigmail-Version: X-Enigmail-Supports:\
X-OriginalArrivalTime:
X-Operating-System: X-Window-System:"
FORMAIL_OPTIONS="-b -Y -f -d -s -e"
FORMAIL_HEADERS="$(echo "$EXTRA_HEADERS" | sed -e 's| | -I |g')"
for m in "$@"
do
echo "Processing" $m "mailbox..."
case $m in
*.Z) EXT=Z;;
*.z) EXT=z;;
*.gz) EXT=gz;;
*.bz2) EXT=bz2;;
esac
case $EXT in
gz|Z|z)
MBOX="$(basename $m .$EXT)"
gunzip $m
;;
bz2)
MBOX="$(basename $m .bz2)"
bunzip2 $m
;;
*)
MBOX="$m"
;;
esac
cat $MBOX | formail $FORMAIL_HEADERS $FORMAIL_OPTIONS | bzip2 -c > $MBOX.bz2
rm -f $MBOX
echo "Done!"
done