- ベストアンサー
find -exec cp中にファイル更新すると
find文についての質問です。 findオプション-exec cpによってコピー中に、別のファイルを更新すると、そのファイルがコピーされなくなってしまいました。 例えば、 find /tmp -mtime 1 -name "*" -type f -exec cp … により/tmp直下のファイルをコピー中に/tmp/a直下のファイルを更新すると、そのファイルはコピーできないといった結果になります。 findコマンドのオプションによりコピー可能にすることはできるのでしょうか? osはAIXです。 良い方法をご存知でしたら教えて下さい。お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
結局のところ、どんなファイルをコピーしたいのですか? 「更新日が1日以内」なら「-mtime -1」 日付け関係無いなら、-mtime 1 は不要 man findとすれば、+n,n.-nと指定したときにどうなるか書いてあるはずです。 http://publib.boulder.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.cmds/doc/aixcmds2/find.htm
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
-mtime 1 で「更新日が現在から24~48時間前のファイル」を指定していますよね? ファイルを更新すれば、更新日が「現在時刻」になりますから、上の条件からはずれて検索対象外になりますから、cp は実行されないのは正しい動作だと思うのですが。
お礼
回答ありがとうございます。 バージョンによって異なるみたいですが、現在時刻から24時間以内のオプションになるようです。