gpt4 book ai didi

linux - 在 Linux 中使用 AWK 将日期转换为纪元时间

转载 作者:IT王子 更新时间:2023-10-29 01:10:48 25 4
gpt4 key购买 nike

我有一个逗号分隔的文件,第一列是格式为 01/31/2010 的日期我想更改为纪元时间,这样文件“file.csv”:

 01/30/2010,1,"hi"
01/31/2010,3,"bye"

将变为“output.csv”:

 1264809600,1,"hi"
1264896000,3,"bye"

我知道命令行 date -d "01/30/2010"+%s 可以工作,但只能在一个日期上工作,我需要将它输入到一个表中,那么,有没有办法使用 awk带有一些 func():

cat file.csv | awk -F, 'print func($1)","$2","$3}'

因为我真的不在乎我是怎么做到的,或者,当字符串是 mm/dd/yyyy 时,我如何将 excel 中的日期更改为纪元...

最佳答案

TZ=PST awk -F, '{split($1,date,"/");
$1=mktime(date[3] " " date[1] " " date[2] " " "00 00 00");
print}'

或者,调用 date:

TZ=PST awk -F, '{ OFS = FS;
command="date -d" $1 " +%s";
command | getline $1;
close(command);
print}'

关于linux - 在 Linux 中使用 AWK 将日期转换为纪元时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965658/

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