如何将此时间戳转换为秒?

时间:2011-01-31 11:36:01

标签: perl

我有一个文件xyz.txt,其中包含以下信息:

19-10-13-404566 1-3039 1 xyz
19-10-14-890768 1-3039 2 zxv
..........................

我希望文件的第一列在Perl中转换为19*3600 + 10*60 + 13(68473)。

3 个答案:

答案 0 :(得分:2)

perl -ne 's/^(\d+)-(\d+)-(\d+)/$1*3600+$2*60+$3/e; print'

但顺便说一句,你的数学错误就是这个例子。 19 * 3600 + 10 * 60 + 13是69013。

答案 1 :(得分:0)

根据你所写的内容,你无法弄清楚你所描述的转变是如何起作用的。但是Perl FAQ中的这个条目可以帮助您实际更改文件的内容。

How do I change, delete, or insert a line in a file, or append to the beginning of a file?

答案 2 :(得分:0)

perl -pi -e 's/^(\d+)-(\d+)-(\d+)/$1*3600+$2*60+$3/e' xyz.txt

这将替换文件中的第一列。