0

我做类似的事情

wget --user=userName --password=passWord  --timestamping https://url.to/a/file.csv.gz
gzip -cd file.csv.gz > file.csv

(未测试)

请注意,服务器需要身份验证。

仅当文件比本地文件新时才会下载该文件。这很好。

但是,仅当远程文件比本地文件新时才应执行第 2 行。

我怎样才能做到这一点?

4

1 回答 1

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。

于 2012-11-19T23:07:37.470 回答