Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何比较shell脚本中的两个日期(日期为git日志格式)_Bash - Fatal编程技术网

Bash 如何比较shell脚本中的两个日期(日期为git日志格式)

Bash 如何比较shell脚本中的两个日期(日期为git日志格式),bash,Bash,我正在将Git的提交记录到一个文本文件中;我有多个存储库,所以我将它们按顺序放在一个文件中 现在,我想知道哪一个是最新提交的,这样我就可以把它放在另一个报告中,在一定的时间间隔内准备 有没有一种快速的方法来比较这些日期,而不必使用日期和时间来推断字符串,以秒为单位进行转换,然后比较这两个数字 我的日志文件上的输出是 git log --pretty=format:"%h %an %ad" -1 这条线是这样的: ar9dfv4 user Mon Jun 9 14:30:33 2014 如果日

我正在将Git的提交记录到一个文本文件中;我有多个存储库,所以我将它们按顺序放在一个文件中

现在,我想知道哪一个是最新提交的,这样我就可以把它放在另一个报告中,在一定的时间间隔内准备

有没有一种快速的方法来比较这些日期,而不必使用日期和时间来推断字符串,以秒为单位进行转换,然后比较这两个数字

我的日志文件上的输出是

git log --pretty=format:"%h %an %ad" -1
这条线是这样的:

ar9dfv4 user Mon Jun 9 14:30:33 2014
如果日期使用%ai格式,则可以使用sort从第3列开始对项目进行算术排序

git log --pretty=format:"%h %an %ai" | sort -k3

不过,我不确定如果不同的开发人员生活在不同的时区会发生什么。如果git尚未将日期和时间转换为公共区域,您可能需要将其转换为公共区域。

使用%ai格式进行日期转换,如果所有工作都来自同一时区,您可以按字母顺序进行排序。谢谢,我不知道该选项。现在我有了一个这样的日期;我不明白如果它们是数字,你怎么按字母顺序排序。doh!实际上,使用sort本身就是在进行排序,甚至不需要告诉哪个字段是日期。谢谢!请将其添加为答案,以便我可以将其标记为已解决