我喜欢
wget --user=userName --password=passWord --timestamping https://url.to/a/file.csv.gz
gzip -cd file.csv.gz > file.csv
(未经测试)
请注意,服务器需要身份验证。
如果文件比本地文件新,则只下载该文件。这很好。
但是,只有在远程文件比本地文件更新时才应执行第2行。
我该怎么做?
答案 0 :(得分:6)
只需测试file.csv.gz
的修改时间是否比file.csv
更新。
在Linux上:
if [ $(stat -c '%Y' file.csv.gz) -gt $(stat -c '%Y' file.csv) ]; then
gzip -cd file.csv.gz > file.csv
fi
在BSD上(如Mac OS X):
if [ $(stat -f '%m' file.csv.gz) -gt $(stat -f '%m' file.csv) ]; then
gzip -cd file.csv.gz > file.csv
fi
其他系统可能有stat
的不同参数;检查系统上的man stat
,或help stat
是否为内置shell。