# Awk lacks a built-in method to convert MONTH/WEEKDAY to/from human format.
# My solution is to setup global WEEKDAYS/MONTHS variables in BEGIN
# then reference them as needed instead of relying on an external call to date.
BEGIN {
WEEKDAYS[0]="Sun"; WEEKDAYS[1]="Mon"; WEEKDAYS[2]="Tue"; WEEKDAYS[3]="Wed";
WEEKDAYS[4]="Thu"; WEEKDAYS[5]="Fri"; WEEKDAYS[6]="Sat";
WEEKDAYS["sun"]=0; WEEKDAYS["mon"]=1; WEEKDAYS["tue"]=2; WEEKDAYS["wed"]=3;
WEEKDAYS["thu"]=4; WEEKDAYS["fri"]=5; WEEKDAYS["sat"]=6;
MONTHS["01"]="Jan"; MONTHS["02"]="Feb"; MONTHS["03"]="Mar"; MONTHS["04"]="Apr";
MONTHS["05"]="May"; MONTHS["06"]="Jun"; MONTHS["07"]="Jul"; MONTHS["08"]="Aug";
MONTHS["09"]="Sep"; MONTHS["10"]="Oct"; MONTHS["11"]="Nov"; MONTHS["12"]="Dec";
MONTHS["jan"]="01"; MONTHS["feb"]="02"; MONTHS["mar"]="03"; MONTHS["apr"]="04";
MONTHS["may"]="05"; MONTHS["jun"]="06"; MONTHS["jul"]="07"; MONTHS["aug"]="08";
MONTHS["sep"]="09"; MONTHS["oct"]="10"; MONTHS["nov"]="11"; MONTHS["dec"]="12";
}
## Example Execution from Bash, Converting Apache Error Log Format
awk 'BEGIN {
WEEKDAYS[0]="Sun"; WEEKDAYS[1]="Mon"; WEEKDAYS[2]="Tue"; WEEKDAYS[3]="Wed";
WEEKDAYS[4]="Thu"; WEEKDAYS[5]="Fri"; WEEKDAYS[6]="Sat";
WEEKDAYS["sun"]=0; WEEKDAYS["mon"]=1; WEEKDAYS["tue"]=2; WEEKDAYS["wed"]=3;
WEEKDAYS["thu"]=4; WEEKDAYS["fri"]=5; WEEKDAYS["sat"]=6;
MONTHS["01"]="Jan"; MONTHS["02"]="Feb"; MONTHS["03"]="Mar"; MONTHS["04"]="Apr";
MONTHS["05"]="May"; MONTHS["06"]="Jun"; MONTHS["07"]="Jul"; MONTHS["08"]="Aug";
MONTHS["09"]="Sep"; MONTHS["10"]="Oct"; MONTHS["11"]="Nov"; MONTHS["12"]="Dec";
MONTHS["jan"]="01"; MONTHS["feb"]="02"; MONTHS["mar"]="03"; MONTHS["apr"]="04";
MONTHS["may"]="05"; MONTHS["jun"]="06"; MONTHS["jul"]="07"; MONTHS["aug"]="08";
MONTHS["sep"]="09"; MONTHS["oct"]="10"; MONTHS["nov"]="11"; MONTHS["dec"]="12";
}
{
print $1,$2,$3,$4,$5;
print gensub(/]/,"","",$5)"-"MONTHS[tolower($2)]"-"$3
}' /etc/apache2/logs/error_log | tail
## Output
[Mon Sep 19 23:12:48.122463 2022]
2022-09-19
[Mon Sep 19 23:19:42.015701 2022]
2022-09-19
[Mon Sep 19 23:19:42.421594 2022]
2022-09-19
[Mon Sep 19 23:19:42.421723 2022]
2022-09-19
[Mon Sep 19 23:19:42.989035 2022]
2022-09-19