http://q.hatena.ne.jp/1235795896 関連の質問です。


あるディレクトリ内(階層そこそこ深い)の中に5分以内の新しいファイルがあったらそれを、別のディレクトリにコピーするシェルスクリプトをお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/03/01 10:38:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント100pt

前回回答と同様、find コマンドを使っています。

"hoge1" は検索対象としたいディレクトリ、"hoge2" はコピー先のディレクトリです。

最終更新日時を基準としています。ディレクトリは検索対象としていません。

find hoge1 -type f -mmin +5 -exec cp {} hoge2 \;
id:kaiketsu

早速ありがとうございます。そうすると、hoge1 に新しいディレクトリができるとどうなるのでしょうか?

それから試してみました。うーん、ディレクトリ a,b をつくって aの中にファイルをいれたのですが、b にコピーされません。 シェルコマンドは、a,b のすぐ上のディレクトリで実行しています。

find a -type f -mmin +5 -exec cp {} b \;

bash だからだめなのかな。

2009/02/28 19:35:59
  • id:kaiketsu
    -mmin -5 じゃないですか?
  • id:pahoo
    -mmin -5 の誤りです。「5分以内より新しい」ですものね。
    kaiketsu さん、ご指摘をありがとうございます。
  • id:kaiketsu
    ディレクトリをそのままというのできないのですね。
    hoge1 で新しいディレクトリをつくると、hoge2 でもつくってもらえるとありがたいのですが、ちょっと難しいでしょうか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません