• ベストアンサー

cshでのディレクトリ削除

ysk6406の回答

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

例えば、ディレクトリ foo 以下にあるタイムスタンプ3日前以前のディレクトリをすべて消すには、   find foo -type d -mtime +3 -exec rmdir {} \; で良いと思います。 ただし、そのディレクトリに何かファイルが入っている場合は、これでは消せません。中身のファイルを含めて消すには   find foo -type d -mtime +3 -exec rm -r -f {} \; です。

matthaus
質問者

お礼

回答ありがとうございます。 -typeを指定するんですね。 早速やってみます。

関連するQ&A

  • 古いファイルを削除したいのですが。。。

    こんにちわ。 findコマンドを使って、あるディレクトリにどんどんできるファイルの古くなったものを削除したいのです。 例えば、7日以上更新がないものを削除したく、 # find /hoge/backup -mtime +7 -a -type f -exec rm -f {} \; というコマンドを実行してみましたが、結果は、削除されず残ったままで、しかも一部のファイルが元々古い日付だったものが、実行日時でタイムスタンプが書き変わってしまってます。 シェルはbashでもcshで試しても同じでした。 どうすればよいかご教示お願いできますでしょうか?

  • findで7日前のディレクトリを検知、そのディレクトリを消したい。

    findオプションで質問です。 7日以前のディレクトリ/ファイルを検索して消したいです。 find ~ -mtime +7 -type -df -exec rm -df {} なんて感じで宜しいのでしょうか。 -df というように、ディレクトリ/ファイルを両方いっぺんに 指定できますか? 宜しくお願いいたします。

  • ディレクトリのワイルドカード

    現在、javaでディレクトリの検索を 行って削除をしたいのですが ディレクトリ名がタイムスタンプで作成 されていてワイルドカードでディレクトリを 削除するしかないのですがいろいろ探してみたところ ファイルのワイルドカード検索はありますが ディレクトリも同様にできるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • シェル ディレクトリ内検索について

    お世話になっております。 solarisでシェル作成に辺り教えてください。 あるディレクトリの新しいファイルから3つ目の ファイルを移動(mv)したいと考えているのですが 良い方法は無いでしょうか? 例 testディレクトリ内 ファイル.txt.051025 ファイル.txt.051024 ファイル.txt.051023  ←このファイルをmv処理 ファイル.txt.051022 ファイル.txt.051021 ファイル.txt.051020 ディレクトリ内のタイムスタンプで最も新しいファイルから3つ目を移動させたい場合は、どの様にしたら良いでしょうか?方法はあるのでしょうか? お願いします。

  • ディレクトリを削除するシェルスクリプト

    Linuxにて、あるディレクトリ内の子ディレクトリの作成日が1ヶ月以上前のものを削除するシェルスクリプトを作成したく思っております。 対象のディレクトリには名前の一部に作成日(YYYYMMDD)を付与していますのでそれを利用してどうにかできないかと考えております。ただ実際にどう実現すればいいか分からず困っています。何か良い案がある方がいらっしゃればご教授願いたく思っております。 OS:REDHAT Enterprise Server4(カーネル:2.6.9-67)

  • シェル作成手伝ってください><

    会社に入社して3年目。 シェル作成はまだド素人であり、期日がもうせまっており とても困っております。 よかったら助けてくれませんか??? 内容は下記を参照ください。 <シェル内容> ・coreファイル削除をシェルにて削除したい。 ・削除対象ディレクトリ←ここにファイルが作成されます。 →/home/xxxx/配下 できればfindにてcoreファイルを参照してファイルがあれば 削除し、なければそのまま何もせずに終了する。 ちなみにUNIXでcshで作成してほしいと言われました。 ついでといっては失礼と思いますが、続けてif文のココもわからないのでできたら教えてください。 if ( 変数 )then 変数がわからんです。 本当に唐突的ですがお早めの回答よろしくお願いいたします。

  • シェルスクリプトで古いファイルの自動削除をするには?

    UNIXで以下の仕様を持つシェルスクリプトを作成しようと していますが、どうもうまくいきません。 どなたか、いい知恵を貸していただけないでしょうか? 目的: 特定のディレクトリ内にあるファイルについて、 システム日付より3日前のタイムスタンプを持つファイルを 削除する。 留意点: ・削除対象のファイルは複数存在する場合がある。 ・ファイルサイズは1件あたり 0byte-数百Mbyte となる  可能性がある。 ・ファイル名は不定。 ・スクリプトはBシェルまたはCシェルとする。 参考: ・現在使用しているOSについて  ls -l でのタイムスタンプにおける出力形式は以下のとおり  (デフォルト値?)  ・ 9月 28日 2000年    または   10月 24日 10時45分 知っている限りのコマンドを使っていろいろやってみたんですが、 結局ダメでした。 よろしくお願いします。

  • Windowsのディレクトリを削除できたり、できな

    Windows7で以下の操作をしました。 1. 2階層のディレクトリを作成 (コマンドプロンプト) >D: >md hoge >md hoge\foo 2. エクスプローラーでD:\hoge\fooを開いたままにする 3. コマンドプロンプトでhogeをrdの/Sオプションで削除 rd /Q /S hoge 「ディレクトリが空ではありません。」とメッセージとなり、 ディレクトリhogeを削除されませんでした。 しかし、ディレクトリfooは削除されているので、空ではない です。 PCによって(タイミング?)、3.が成功するのですが、どのような 状況だと削除できないのでしょうか。

  • cshでmakeのようなファイルの時間を見るコマンド

    makeでは2つのファイルのタイムスタンプを比較して更新 されていたらコマンドを実行する 機能がありますが、こ のことをcshスクリプトで実行しようとした場合、何か良い 方法は有りませんでしょうか? 素直にmakeを使用すればよいのですが、既に環境がshell スクリプトベースで構築されてしまっており、 出来ればこれと親和性の良い方法で、多少場当たり的なのは認識しつつも、逃げたく思っています。 より具体的には2つのディレクトリ(CENTER directoryとwork directory)があり、ワークは各々が各人の都合でソースコードを変更します。 ある時点でCENTERディレクトリが更新された場合、その更新されたファイルだけをセンターディレクトリからワークディレクトリへコピーしてくる という事をしたいと思って います。 以上、よろしくお願い致します。

  • ホームディレクトリの削除

    お世話になります Linux初心者です SentOSを使用しています 登録済みの一般ユーザー名を違う名前に変えたかったのですが 方法がわからず一度ユーザーを消して新規にユーザーを登録しようとおもいました そこで、私の持っている入門書を見て userdel "ユーザー名" で、削除しました。 ところが入門書をもう少し読み進めて見ると 「ユーザーのホームディレクトリ内は、削除されず残ります。」 と書いてありました。... ネット検索で調べてみたら userdel -r "ユーザー名" と、オプションを付けてするべきだったことが分りました。 一応このコマンドを試してみましたが、後の祭りみたいでした。... のこった、ユーザーのホームディレクトリ削除する方法を教えてください。 お願いします。