【问题标题】:Convert Data format in awk variable在 awk 变量中转换数据格式
【发布时间】:2020-04-15 06:41:01
【问题描述】:

我有以下文件,需要使用awk 将其日期格式转换为YYYY-MM-DDFile.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

【问题讨论】:

  • 因此,我们鼓励用户以代码的形式展示他们的努力,所以请在您的问题中添加相同的内容,然后让我们知道。
  • 我使用了这个命令,但它不起作用.. cat File.txt | awk -F ';' '{OFS="|"} {print $(date -d $3 +"%Y%m%d")}'

标签: awk


【解决方案1】:

这个脚本应该可以解决问题:

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

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    相关资源
    最近更新 更多