• ベストアンサー

find -exec cp中にファイル更新すると

find文についての質問です。 findオプション-exec cpによってコピー中に、別のファイルを更新すると、そのファイルがコピーされなくなってしまいました。 例えば、 find /tmp -mtime 1 -name "*" -type f -exec cp … により/tmp直下のファイルをコピー中に/tmp/a直下のファイルを更新すると、そのファイルはコピーできないといった結果になります。 findコマンドのオプションによりコピー可能にすることはできるのでしょうか? osはAIXです。 良い方法をご存知でしたら教えて下さい。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.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 は実行されないのは正しい動作だと思うのですが。

stickright
質問者

お礼

回答ありがとうございます。 バージョンによって異なるみたいですが、現在時刻から24時間以内のオプションになるようです。

関連するQ&A