gpt4 book ai didi

linux - 使用 awk 在文本文件中查找匹配日期范围的数据

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:12 28 4
gpt4 key购买 nike

我有一个文本文件,其中包含来自五个传感器的日期戳和温度值,并且每十分钟该文件就会更新一行新数据。

这是数据文件的示例 - 第 1 列和第 2 列是日期和时间,第 3 列到 7 列是温度值:

31-12 04:40 19.6 20.5 18.3 21.3 12.5
31-12 04:50 19.6 20.4 18.3 21.3 12.7
31-12 05:00 19.5 20.4 18.2 21.2 12.6
31-12 05:10 19.5 20.4 18.2 21.2 12.5
31-12 05:20 19.5 20.4 18.5 21.2 12.1

如何使用 awk 从数据文件中提取过去 24 小时、过去 7 天、过去 28 天和过去 365 天的记录?

最佳答案

坏消息:标准 awk 没有日期处理功能,而日期处理对于 shell 脚本来说是一件碰运气的事情。 GNU 和 BSD 版本的 date 命令都可以使用 date 命令来检查日期,但两者使用完全不同的语法来执行此操作。

如果您使用的是 gawk 或带有 awk 的 Linux,您可以尝试 mktime 函数:

date="20141225011522"   # December 25, 2014 at 1:15:22
date_in_seconds = mktime( date )

您需要对日期进行一些重新格式化,但完成后,您将返回自纪元(通常为 1970 年 1 月 1 日)以来的秒数。

顺便说一句,您需要包含您尝试过的示例以及您在代码本身中遇到的问题,否则您的问题将被关闭。

关于linux - 使用 awk 在文本文件中查找匹配日期范围的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710914/

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