gpt4 book ai didi

date - 使用 awk 或 sed 将时间戳(unix 13 位)转换为 csv 文件完整列的日期时间格式

转载 作者:行者123 更新时间:2023-12-02 19:28:03 25 4
gpt4 key购买 nike

我有一个多列的 csv 文件。第一列的时间戳类似于,

1529500027127
1529500027227
1529500027327
1529500027428
1529500027528
1529500027628
1529500027728

我知道您可以针对特定时间戳执行类似的操作:

date -d @1529500027528

但是我怎样才能选择列的所有值并做到这一点呢?我尝试了下一个命令:

date -d "$(awk -F , -v OFS=, '$1/=1000')" file.csv

我试图了解日期命令如何与其他命令一起使用。

最佳答案

由于未给出预期输出的示例,因此只能使用给定的第一列值对其进行测试,并在 GNU awk 中编写和测试。您可以使用awkstrftime函数,也因为OP hs提到Input_file是一个csv文件,所以提到FSOFS 此处为 ,

awk 'BEGIN{FS=OFS=","} {$1=strftime("%Y/%m/%d %H:%M:%S",$1/1000)}1' Input_file

来自 man awkstrftime:

strftime([format [, timestamp[, utc-flag]]]) Format timestamp according to the specification in format. If utc-flag is present and is non-zero or non-null, the result is in UTC, otherwise the result is in local time. The timestamp should be of the same form as returned by systime(). If timestamp is missing, the current time of day is used. If format is missing, a default format equivalent to the output of date(1) is used. The default format is available in PROCINFO["strftime"]. See the specification for the strftime() function in ISO C for the format conversions that are guaranteed to be available.

关于date - 使用 awk 或 sed 将时间戳(unix 13 位)转换为 csv 文件完整列的日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62242427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com