Replace words with the first characters

Hello folks, I have a simple request but I can't find a simple solution.
Hare is my problem. I have some dates, I need to replace months with only the first 3 characters (jan for january, feb for february, ... all in lower case)

~$ echo '3 october 2010' | sed [script of some sort]
3 oct 2010

I thought of something along this (at least to extract the 3 characters) but It doesn't work the way I want:

echo 'today is 3 october 2010' | sed -r '/(january|february|march|april|june|july|august|september|october|november|december)/{s/^(...).*/\1/}'

Any ideas?

echo '3 october 2010' | awk '{$2=substr($2,1,3)}1'
echo '3 october 2010' |  awk '{print $1,tolower(substr($2,0,3)),$3}'

Thanks for your suggestions.
But the month can actually be anywhere in the phrase.
I'm searching around awk's gsub command for now but can't yet find something useful.

echo '3 october 2010' | awk 'gsub(/january|february|march|april|june|july|august|september|october|november|december/,[missing part^^]
echo 'today is 3 october 2010' | 
sed -r 's/(jan)uary/\1/g;s/(feb)ruary/\1/g;s/(mar)ch/\1/g;s/(apr)il/\1/g;s/(jun)e/\1/g;s/(jul)y/\1/g;s/(aug)ust/\1/g;s/(sep)tember/\1/g;s/(oct)ober/\1/g;s/(nov)ember/\1/g;s/(dec)ember/\1/g'
perl -lpe 's/(january|february|march|april|june|july|august|september|october|november|december)/substr($1, 0, 3)/eg'

Thank you Scrutinizer and alister, those two suggestions fit my needs well.
I had hopes with something more "generic" or a helluva short awk script to do this, but... nevermind ^^
Finally, I think I'll keep my current approach, using bash's "Parameter Expansion":

        d=${d//january/jan};d=${d//february/feb};d=${d//march/mar};
        d=${d//april/apr};d=${d//june/jun};d=${d//july/jul};
        d=${d//august/aug};d=${d//september/sep};d=${d//october/oct};
        d=${d//november/nov};d=${d//december/dec}

Thank you again :slight_smile:

$ echo '3 october 2010' |ruby -rdate -e 'p Date.parse(gets).strftime("%d %b %Y")'
"03 Oct 2010"

date -d "3 october 2010" "+%e %b %Y"