Just with bash:
convert_date () { local months=( JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC ) local i for (( i=0; i<11; i++ )); do [[ $2 = ${months[$i]} ]] && break done printf "%4d%02d%02d\n" $3 $(( i+1 )) $1 }
And call it like this
d=$( convert_date 27 JUN 2011 )
Or if the "old" date string is stored in a variable
d_old="27 JUN 2011" d=$( convert_date $d_old ) # not quoted
glenn jackman Jun 28 '11 at 17:01 2011-06-28 17:01
source share