【问题标题】:how to convert date using awk linux如何使用 awk linux 转换日期
【发布时间】:2015-08-21 06:42:44
【问题描述】:

我的 txt 文件 (test.txt) 包含以下数据:

00:06:55.351;C39EE9AF;2015-01-05 09:52:20;0;5;295;test;
00:06:51.368;C39EE78B;2015-01-05 09:52:17;0;5;295;test2;

我需要使用 awk 查看日期,如下所示:

2015-01-05 test
2015-01-05 test2

我尝试了以下方法:

cat test.txt | awk -v FS=";" '{print $3,$7}'

【问题讨论】:

    标签: date awk converter


    【解决方案1】:

    将字段分隔为分号空格:

    awk -F'[; ]' '{ print $3, $NF }' test.txt
    

    我使用了-F 开关,这是设置输入字段分隔符FS 的标准方法。我还使用$NF 打印最后一个字段。另请注意,我将文件直接传递给 awk,这避免了对 cat 的无用使用。

    如果其他字段中可能有空格,那么您可以像这样使用split

    awk -F; '{ split($3,a," "); print a[1], $NF }' file
    

    这会将第三个字段拆分为一个空格并使用第一部分。

    【讨论】:

    • 不客气。如果您的问题得到解决,请不要忘记点击旁边的勾号来接受我的回答。谢谢。
    • 如果最后一个字段="adv test" 我得到了 2015-01-06 test 2015-01-06 adv
    • 我猜测您的问题可能是什么并编辑了我的答案。
    猜你喜欢
    • 2015-12-22
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多