◀ANSI版開発トップへ
3002
Grepで同じファイルを複数回検索するバグ
3005
Re:Grepで同じファイルを複数回検索するバグ
3408
RE: Grepで同じファイルを複数回検索するバグ
3409
RE2: Grepで同じファイルを複数回検索するバグ
[3002]
Grepで同じファイルを複数回検索するバグ
もか
2003年08月12日 23:33
Grepのファイル名指定を「*.* *.cpp」のように指定すると、
hoge.cppのようなファイルを2回検索してしまいます。
当然「*.*;*.*;*.*」とすれば、同じファイルを3回検索してしまいます。
修正したほうがいいですよね?
[3005]
Re:Grepで同じファイルを複数回検索するバグ
wmlhq
2003年08月13日 14:36
少なくとも二通りの方法があります。
(1) ファイルのワイルドカードを複数のパスに展開した後、ユニークにする。
(2) すでに検索したファイル(のパス)にフラグをつけて区別する。
相対パスからどうやって同じファイルかを判定するのでしょうか。
[3408]
RE: Grepで同じファイルを複数回検索するバグ
みく
2004年02月11日 13:13
除外ファイルとの合わせ技が可能。
探索するフォルダ毎にチェック済みリストを作成する。
WIN32_FIND_DATA.cAlternateFileName[14] をリスト管理(qsort,bsearch)
することでデータ量を削減できる。
・先に除外ファイルを登録する(チェック済みにしてしまう)。
・対象ファイルをチェック済みリストと照合しながらGREP実行。
チェック済みならスキップ。
未チェックなら登録してGREP。
以上をフォルダ毎に実行する。
[3409]
RE2: Grepで同じファイルを複数回検索するバグ
みく
2004年02月12日 21:37
プロトタイプでテストしたところ、
8.3形式のファイル名を持たない場合もあるので、cAlternateFileNameは使えませんでした。
bsearch,qsort使うよりも単純に線形検索したほうが2倍速かったです。