|
さきほどお問い合わせページよりご指摘いただきました、ジャンル一覧リンク切れの件、 修正しました。ご指摘ありがとうございます>連絡いただいた方 |
|
2年半ぶりの人材募集です。 http://x68000.q-e-d.net/~68user/tmp/job2.html |
|
こんにちわ。 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の解決方法がありましたら教えてください。 宜しくお願いします。 |
|
>>4902 TKC まず、-exec の代わりに -ok を使って何が実行されているか確認しましょう。 > ディレクトリも表示させるには何かオプションが必要なのでしょうか? ./aaa/ の中身が空ではないですか? 空であれば ls ./aaa しても何も 表示されないと思います。 > 削除後にfindしているように見受けられますがこのエラーの出力原因は > なんでしょうか? find はディレクトリを下降してファイルを探しますが、おそらく ディレクトリを削除した後にそのディレクトリに下りようとしている のではないでしょうか。-prune を組み合わせれば下りないように できるかもしれません (試していません)。 |
|
>>4903 68userさん -okを使用して確認しました。 ご察しの通り./aaa配下が空のため< ls ... ./aaa >となり 結果的にログに./aaaが出力されていないことがわかりました。 findのエラー原因はやはり削除後に配下に移動しているものと思われます。 rmにデータが渡る前に-pruneを使い解消されました。 最終的には下記で行いたい処理ができました。 find ./ -mtime +31 -prune -exec ls -d {} \; -exec rm -r {} \; どうもありがとうございました。 |
|
いつもこちらにはお世話になってます。 flexについての指摘です。 http://x68000.q-e-d.net/~68user/unix/pickup?flex GNUでは作成・配布してないようです。 http://ftp.gnu.org/gnu/flex/flex.README |
|
>>4906 hoge > GNUでは作成・配布してないようです。 そうなんですか。知りませんでした。 ftp://ftp.gnu.org/non-gnu/flex/flex.README Flex is a free implementation of the well-known Lex program for lexical analysis. Since it is not (and never was) a GNU package, we don't distribute it here. Please see http://flex.sourceforge.net for the latest release and information. や flex-2.5.4 (1997年リリース) の README Note that flex is distributed under a copyright very similar to that of BSD Unix, and not under the GNU General Public License (GPL), except for the "configure" script, which is covered by the GPL. などを見るに、確かに flex が GNU ではないようですね。 しかしこの書籍 http://www.ascii.co.jp/books/books/detail/4-7561-3097-6.shtml Flex入門 シリーズ:GNUシリーズ GNUのツールの1つとして広く使用されているGNUのLexical Scanner Generatorで あるFlexの解説書。豊富な例とともに機能を詳細解説 はどうなんですかね。 wikipedia(en) には http://en.wikipedia.org/wiki/Flex_lexical_analyser Flex is a non-GNU project, but the GNU project developed the manual for Flex. とありますが、「GNU が作った flex のマニュアル」の翻訳が上記の「Flex 入門」 だったりするんでしょうか。 |