Преобразовать формат данных в переменную awk - PullRequest
1 голос
/ 15 апреля 2020

У меня есть файл ниже, и необходимо преобразовать его формат даты в YYYY-MM-DD с помощью awk. Содержание образца File.TXT

1;ABC;SSS;Mar 12, 2020;4;1;0;5;0;0;0;0
2;DEF;AAA;Apr 14, 2020;4;1;0;5;0;0;0;0

Ожидаемый результат

1;ABC;SSS;2020-03-12;4;1;0;5;0;0;0;0
2;DEF;AAA;2020-04-14;4;1;0;5;0;0;0;0

1 Ответ

0 голосов
/ 16 апреля 2020

Этот скрипт должен выполнить трюк:

BEGIN{
    FS=";"
    OFS=";"
    month["Jan"] = "01"
    month["Feb"] = "02"
    month["Mar"] = "03"
    month["Apr"] = "04"
    month["May"] = "05"
    month["Jun"] = "06"
    month["Jul"] = "07"
    month["Aug"] = "08"
    month["Sep"] = "09"
    month["Oct"] = "10"
    month["Nov"] = "11"
    month["Dec"] = "12"
}
{
    split($4,date," ")
    $4 = date[3]"-"gsub(",","",date[2])"-"month[date[1]]
    print
}

вызов с awk -f script.awk youinput.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...