比较本地和删除文件的最后修改日期

时间:2013-11-11 16:28:53

标签: linux bash shell

我可以使用

获取远程文件的最后修改日期
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

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

1 个答案:

答案 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) ))