【发布时间】:2015-09-03 11:18:14
【问题描述】:
我有一个相当复杂的管道 shell 命令字符串(假设它是 bunch | of | commands),它们一起产生多行输出,格式如下:
some_path/some_file.csv 1439934121
...其中1439934121 是文件的最后修改时间戳。
我需要做的是查看它是否是当天的时间戳,即在最后一个午夜或之后,然后只包含正确的行。
我认为这意味着某些字符串(例如单词true)应该替换或附加到grep 的那些行的时间戳,以将它们与时间戳是较早日期的行区分开来。
用shell命令的话来说:
bunch | of | commands | ????
...应该产生:
some_path/some_file.csv true 或 some_path/some_file.csv 1439934121 true
...我可以很容易地grep(显然假设last midnight <= 1439934121 <= current time)。
什么样的???? 会这样做?我几乎可以肯定awk 可以做我需要它做的事情,所以我查看了它和date,但我基本上是在做 awk-by-google,没有任何技能,一无所获。
不要被我的工具假设所束缚;如果你可以通过其他方式实现这一点,考虑到bunch | of | commands 的输出,但仍然使用 shell 工具和管道,我全都听好了。如果可能的话,我想避免使用临时文件或 Perl :-)
我在 Ubuntu Linux 上使用 gawk + bash 4.3,具体来说,没有可移植性问题。
【问题讨论】: