如何使用 awk linux 转换日期

how to convert date using awk linux

我有 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 ,}'

设置字段分隔为分号一个space:

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

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

如果其他字段中可能有 space,那么您可以使用 split 代替,如下所示:

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

这将在 space 上拆分第三个字段并使用第一部分。