Solaris毫秒到目前为止

时间:2018-03-26 10:40:18

标签: bash solaris-10

我正在使用Sun OS 5.10 并使用nawk从csv文件中提取字段。 csv的第一列是以毫秒为单位的时间,我需要将其转换为Date,然后将其保存在另一个csv文件中。

这是处理此任务的命令

nawk 'BEGIN {FS = ","}; NR>1 split($42,a,"|") {print $1 "," $46 "," $48 "," 
$47 "," null "," null "," a[2] "," $6 "," $49 "," $7 "," $8 ","}' ttt.csv  > 
tttn.csv   

我该如何处理这项任务?

1 个答案:

答案 0 :(得分:0)

那些不是毫秒 - 它们是自1970年1月1日纪元以来的秒数。

这有帮助吗?我更改了第一个字段($1)的值,然后使用修改后的字段打印该行:

awk '{$1=strftime("%m/%d/%Y, %r",int($1))}1' YourFile
03/26/2018, 07:04:47 pm field2 field3

YourFile包含:

1522087487.9876 field2 field3

如果要舍入到最接近的秒,您可能需要:

int($1+0.5)

strftime()函数中。

如果您的nawk没有strftime(),并且Solaris上没有其他awk可用,例如/usr/xpg4/awk等等,那么我们可能需要提出一个Perl解决方案 - 就这么说吧!