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

他のシステムは、 に対して異なる引数を持つ場合がありますstatman statシステムをチェックするかhelp stat、シェルが組み込まれているかどうかを確認してください。

于 2012-11-19T23:07:37.470 に答える