unix - 在awk中将时间戳转换为EPOCH

标签 unix awk

我在 awk 中将时间戳转换为 EPOCH 秒,重复时间戳得到不正确的输出

输入:

20180614 00:00:00
20180614 00:00:23
20180614 22:45:00
20180614 22:45:21
20180614 00:00:00
20180614 00:00:23

预期输出:

1528930800
1528930823
1528930800
1529012721
1528930800
1528930823

我做到了

awk '{ ts="\""$0"\""; ("date +%s -d "ts)| getline epochsec; print epochsec}'

上面命令运行后的输出:

1528930800
1528930823
1529012700
1529012721
1529012721
1529012721

最佳答案

使用 GNU xargs:

xargs -I {} date +%s -d {} < file

输出:

1528927200
1528927223
1529009100
1529009121
1528927200
1528927223

关于unix - 在awk中将时间戳转换为EPOCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50942962/

相关文章:

c - 强制每 1 秒调用一次警报处理程序(在 C 中)

linux - 我可以在linux中获取msi文件的源代码并添加一些条件吗?

json - 如何在条件下使用多个模式

perl - 将 2 行合并为 1

awk - 了解 AWK 命令中使用的 SUB

linux - awk 根据条件打印特定列

python - 为 Windows 编译 unix make 文件

unix - 用户无法读取文件但属于该组

linux - 如何在 Shell 脚本中调用另一个带有反引号的变量中的函数

linux - 从命令行修改文本文件中的特定行