Bash脚本将日期和时间列转换为.csv中的unix时间戳

前端之家收集整理的这篇文章主要介绍了Bash脚本将日期和时间列转换为.csv中的unix时间戳前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个脚本,将.csv文件中的两个列(日期和时间)转换为unix时间戳.所以我需要从每一行获取日期和时间列,转换它并将其插入到包含时间戳的末尾的附加列中.

谁能帮助我?到目前为止,我已经发现了unix命令将任何给出的时间和日期转换为unixstamp:

date -d "2011/11/25 10:00:00" "+%s"
1322215200

我没有使用bash脚本的经验,任何人都可以让我开始吗?

我的列和行的示例:

Columns: Date,Time,Row 1: 25/10/2011,10:54:36,Row 2: 25/10/2011,11:15:17,Row 3: 26/10/2011,01:04:39,

非常感谢提前!

你没有提供你的csv文件的exerpt,所以我正在使用这个:
[foo.csv]
2011/11/25;12:00:00
2010/11/25;13:00:00
2009/11/25;19:00:00

这是解决问题的一种方法

$cat foo.csv | while read line ; do echo $line\;$(date -d "${line//;/ }" "+%s") ; done
2011/11/25;12:00:00;1322218800
2010/11/25;13:00:00;1290686400
2009/11/25;19:00:00;1259172000

(编辑:删除了一个不必要的变量.)

(EDIT2:更改了date命令,以便脚本实际工作.)

猜你在找的Bash相关文章