我可以使用
获取远程文件的最后修改日期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
如何将此数据/时间与本地文件的上次修改日期进行比较?请注意,远程和本地文件的时区可能不同。
答案 0 :(得分:1)
正如@fedorqui所说,您实际上可以使用date -d
来解析字符串。尝试运行以下命令:
$ 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) ))