# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(?:(Jan(?:uary)?)|(Feb(?:ruary)?)|(Mar(?:ch)?)|(Apr(?:il)?)|(May)|(June?)|(July?)|(Aug(?:ust)?)|(Sept(?:ember)?)|(Oct(?:ober)?)|(Nov(?:ember)?)|(Dec(?:ember)?))\s+(?:(\d{2})|(\d))\s+(\d{4})/$15-${1:+01}${2:+02}${3:+03}${4:+04}${5:+05}${6:+06}${7:+07}${8:+08}${9:+09}${10:+10}${11:+11}${12:+12}-${13:+$13:0$14}/gi;t' <<< "created: October 4 1984 22:01 test"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html