68user's page 掲示板

Prev< No. 4900〜4903> Next  [最新発言に戻る] [過去ログ一覧]
No. 4900 # 68user 2008/04/02 (水) 19:10:27
さきほどお問い合わせページよりご指摘いただきました、ジャンル一覧リンク切れの件、
修正しました。ご指摘ありがとうございます>連絡いただいた方

No. 4901 # 68user 2008/04/18 (金) 13:53:44
2年半ぶりの人材募集です。
http://x68000.q-e-d.net/~68user/tmp/job2.html

No. 4902 # TKC 2008/05/02 (金) 14:09:57
こんにちわ。
findコマンドについて教えてください。

■要件
カレントディレクトリに存在する31日以前のファイル&ディレクトリの削除を実施したい

■コマンド
find ./ -mtime +31 -exec ls {} \; -exec rm -r {} \; >> test.log

■結果
./20070101.trc
find: ./aaa: No such file or directory

■質問1
カレントディレクトリに削除対象となる日付のファイル20070101.trcとディレクトリaaaを配置しています。
削除ファイルの一覧を取得したいため-exec ls {} \;を使用したのですが、
ログには./20070101.trcしか記載がありません。
ディレクトリも表示させるには何かオプションが必要なのでしょうか?

■質問2
実行結果としては削除は行われているのですが戻り値がエラーとなっています。
find: ./aaa: No such file or directoryの部分を指していると思うのですが、
削除後にfindしているように見受けられますがこのエラーの出力原因はなんでしょうか?

1と2の解決方法がありましたら教えてください。
宜しくお願いします。

No. 4903 # 68user 2008/05/02 (金) 16:00:22
>>4902 TKC
まず、-exec の代わりに -ok を使って何が実行されているか確認しましょう。

> ディレクトリも表示させるには何かオプションが必要なのでしょうか?
./aaa/ の中身が空ではないですか? 空であれば ls ./aaa しても何も
表示されないと思います。

> 削除後にfindしているように見受けられますがこのエラーの出力原因は
> なんでしょうか?
find はディレクトリを下降してファイルを探しますが、おそらく
ディレクトリを削除した後にそのディレクトリに下りようとしている
のではないでしょうか。-prune を組み合わせれば下りないように
できるかもしれません (試していません)。

Prev< No. 4900〜4903> Next  [最新発言に戻る] [過去ログ一覧]