Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 索引対象のフィルタリング機能について



濱谷さん、ありがとう御座います。

早速チャレンジしました。
正しくフィルタリングできたようです。
助かりました!



Chihiro Hamatani <chihiro4ml@xxxxxxxxxxx> さんが
Date:    Mon, 02 Jun 2003 23:20:09 +0900
Subject: 索引対象のフィルタリング機能について
のメールでこう書かれました。
---- Original Message --------
 濱谷です。

北極ペンギン <pensuke@xxxxxxxxxxxxxxxxxxxxxx> wrote:
| mknmzrc の設定で悩んでおります。
| 
| 索引化対象ファイルとして数字から始まるHTMLファイル
| 1*.htm,2*.htm,3*.htm,4*.htm,5*.htm,6*.htm,7*.htm,8*.htm,9*.htm
| のみ対象としたいのです。色々トライしましたが、ダメでした。
| 
| $ALLOW_FILE =   "^[0-9]*\\.(?:$HTML_SUFFIX)";
(略)
| どのようにしたら、数字から始まるHTMLファイルのみ
| インデックス対象と出来るのでしょうか?

 mknmzでは試していませんが、次のようにするとどうでしょう?
$ALLOW_FILE = "[0-9]+.*\\.(?:$HTML_SUFFIX)";

 つまり、
  ・[0-9]の後ろを + に変更。
  ・^ は指定しない。なぜなら、mknmzrcには次の用に書かれているので。
    # NOTE: It can be specified by --allow=regex option.
    #       Do NOT use `$' or `^' anchors.
    #       Case-insensitive.


 ちなみに上記の$ALLOW_FILEは、Perlスクリプトで確認しました。

#!/usr/bin/perl -w

use strict;
use File::Find;

my $HTML_SUFFIX = "html?|[ps]html|html\\.[a-z]{2}";
my $ALLOW_FILE = "[0-9]+.*\\.(?:$HTML_SUFFIX)";

## 
sub wanted {
    my $dir = $File::Find::dir;
    my $file = $_;

    return if (!defined $dir) or (!defined $file);

    if ($file =~ m!^($ALLOW_FILE)$!i) {	# mknmzの該当行
        print "path=$dir/$file\n" 
    }
}

find(\&wanted, '.');


---
  濱谷 千尋 (Hamatani, Chihiro)
  E-Mail: chihiro4ml@xxxxxxxxxxx http://discypus.jp



---- Original Message Ends ---