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


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

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

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

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/12/26 16:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:skipsstep No.1

回答回数161ベストアンサー獲得回数3

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 さん

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

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

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

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

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