#!/bin/sh t=/tmp/$$.eml cat > $t # e.g., From: Christopher Faylor via Test-list from=$(sed -nre 's/^From: (.*) via .* <.*$/\1/p' $t) # e.g., Cc: Christopher Faylor cc=$(sed -nre "s/^Cc: ($from "'<.*>).*$/\1/ip' $t) exec < $t rm $t exec sed -e "s/^From:.*/From: $cc/" -e "/[Cc][cC]: $cc.*/d"