在Linux上使用gawk或类似的命令行,我想将12小时时钟日期/时间转换为24小时时间以进行排序。
示例数据
11/29/2016,9:42:21 AM
11/29/2016,12:42:26 PM
11/29/2016,12:42:27 PM
11/29/2016,12:42:50 PM
我使用事件日志
得到了这个cat event_log.csv |gawk -F \, {'print $2'}
由于
答案 0 :(得分:1)
太糟糕了,您没有在示例输入中包含任何实际受此计算影响的值,但无论如何,这是您的工作方式:
$ awk -F'[ ,:]' '$5=="PM" && $2<12{$2+=12} {printf "%s,%02d:%s:%s\n", $1, $2, $3, $4}' file
11/29/2016,09:42:21
11/29/2016,12:42:26
11/29/2016,12:42:27
11/29/2016,12:42:50
答案 1 :(得分:-1)
解决了它
cat x.log | gawk '{cmd="date -d "$1 $2" +%H:%M:%S"; cmd | getline val; close(cmd); printf("%s\n",val) ; }'