Ωmega
Ωmega

Reputation: 43673

Compare last modification dates of local and remove files

I can get a last modification date of the remote file using

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

This gets me date/time such as

Wed, 04 Sep 2013 19:53:18 GMT

For local file I can use

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

and it gets me date/time such as

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

How can I compare this dat/time with last modification date of the local file? Please note that time zone may be different for remote and local file.

Upvotes: 0

Views: 1239

Answers (1)

UltraInstinct
UltraInstinct

Reputation: 44444

You can actually use date -d to parse the string, as @fedorqui says. Try running the below commands:

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

To actually compare, you can subtract the timestamps, something like:

$ echo $(( $(date -d "$(<curl cmd>)" +%s)  -   $(date -d "$(<find cmd>)" +%s) ))

Upvotes: 1

Related Questions