我有一个以逗号分隔的文件,第一列是格式为01/31/2010的日期
我想改成纪元时间,这样文件“file.csv”:
01/30/2010,1,"hi"
01/31/2010,3,"bye"
将更改为“output.csv”:
1264809600,1,"hi"
1264896000,3,"bye"
我知道命令行日期-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}'
或者,调用日期:
TZ=PST awk -F, '{ OFS = FS;
command="date -d" $1 " +%s";
command | getline $1;
close(command);
print}'
标签:unix,linux,excel,awk
来源: https://codeday.me/bug/20190530/1185722.html