Mac OS X の Terminal.app に関する質問です。


あるディレクトリに大量のファイルがあります。その内「"変更日"が90日以前のファイル」を全て削除したいのですが、Finderで条件検索して削除するという方法では時間がかかり過ぎて困っています。Terminal.app でコマンドを駆使すればもっと短時間で出来ると考えましたが、どのようなコマンドを使用すれば良いでしょうか。

ディレクトリ内にあるファイルは大量のサブディレクトリに分類されています。また、ファイルの種類は画像、PDF、テキストなど様々です。削除した結果、空のディレクトリが残らない方が望ましいですが、残っても構いません。

なお、「あるディレクトリ」とは BUFFALO 社の TeraStation Pro という NAS の中のフォルダーを 「afp://[ローカルIPアドレス]」という方式で /Volume にマウントしたもので、中のファイルは Windows で作成したものです。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/12/19 16:38:36
  • 終了:2008/12/26 16:40:03

回答(1件)

id:skipsstep No.1

skipsstep回答回数161ベストアンサー獲得回数32008/12/20 09:51:43

id:ishimarum

ありがとうございます。

findコマンドの使い方ですね。

ファイルの変更日を指定するのに -mtime というオプションを使えばよいことはわかりました。

その結果をまとめて削除させる部分についても教えていただけると幸いです。

2008/12/20 14:42:20
  • id:hujikojp
    なぜか回答できないのでコメントに書きますが。
    find /Volume/hoge -type f -mtime +90 -exec rm {} +
    でいいのでは。
    心配な向きは -exec {} +を -lsにでも変えて、消されるファイルを確認してから実行してください
  • id:ishimarum
    id:hujikojp さん

    ご回答ありがとうございました。
    教えていただいたコマンドでテストしてみたところ、期待した通りの結果が得られました。
    とても助かりました。ポイントは別途に送信させていただきますね。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません