spe*_*ndo 0 bash comparison timestamp wget
我做的事情
wget --user=userName --password=passWord --timestamping https://url.to/a/file.csv.gz
gzip -cd file.csv.gz > file.csv
Run Code Online (Sandbox Code Playgroud)
(未测试)
请注意,服务器需要身份验证.
如果文件比本地文件更新,则只下载该文件.这很好.
但是,如果远程文件比本地文件新,则只应执行第2行.
我怎样才能做到这一点?
只是测试看看修改时间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
Run Code Online (Sandbox Code Playgroud)
在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
Run Code Online (Sandbox Code Playgroud)
其他系统可能有不同的参数stat; 检查man stat你的系统,或者help stat它是否是内置的shell.