0

我可以使用获取远程文件的最后修改日期

curl --head http://url 2>/dev/null | grep -Po '(?<=^Last-Modified:\s).*$'

这让我得到日期/时间,例如

Wed, 04 Sep 2013 19:53:18 GMT

对于本地文件,我可以使用

find /path/file -exec stat \{} --printf="%y\n" \;

它让我得到日期/时间,例如

2012-01-09 09:50:30.000000000 -0500

如何将此日期/时间与本地文件的最后修改日期进行比较?请注意,远程和本地文件的时区可能不同。

4

1 回答 1

1

date -d正如@fedorqui 所说,您实际上可以用来解析字符串。尝试运行以下命令:

$ date -d "$(<your curl command grepped>)" +%s   #+%s gets you timestamp.
$ date -d "$(<your find command>)" +%s

要进行实际比较,您可以减去时间戳,例如:

$ echo $(( $(date -d "$(<curl cmd>)" +%s)  -   $(date -d "$(<find cmd>)" +%s) ))
于 2013-11-11T16:43:52.207 回答