0

特定の日に作成されたファイルの数を圧縮したい。このコマンドを使用しました

zip -rt 06222012 TEST root/*.csv

このコマンドは、2012 年 6 月 22 日以降に作成された .csv 拡張子を持つルート ディレクトリ内のすべてのファイルを圧縮しました。

しかし、これは私の要件を満たしていません。私の要件は.. a.sh と b.sh という 2 つのスクリプトがあるとします。 4 つの .csv ファイルを作成します

この b.sh ファイルが 2012 年 6 月 22 日の午前 6 時に cron ジョブを介して実行され、2012 年 6 月 22 日の午前 10 時に完了し、5 つの .csv ファイルが作成された後

上記の zip コマンドは、2012 年 6 月 22 日に作成されたこれらの 9 つのファイルすべてを圧縮しますが、b.sh のみによって作成される .csv ファイルは 5 つだけ必要です。つまり、22 日に作成されたファイルです。 /2012 年 6 月 10:00 午前

上記の zip コマンドで、時間と分も指定できますか?

4

1 に答える 1

1

上記のコメントで既に述べた事実を考えると、標準のファイルシステムを使用する場合、「作成されたファイル」を「最後に変更されたファイル」で近似するしかないという事実を考えると、find.

これについては、stackoverflow に関する優れた記事が既にあります (参照:シェル スクリプト — Get all files modified after <date> )

あなたのケースに関しては、おそらく次の-newerXYような問題に最も適したオプションである可能性があります。

  zip -r TEST `find root -name"*.csv" -newermt 10:00`
于 2013-03-08T22:16:25.597 に答える