次へ: 参考文献 上へ: AWK による HTML ファイルの整形 その 3 前へ: 6 全体のソースコード (PDF ファイル: awkwww3.pdf)


7 最後に

今回は、実際に私が利用しているジャンル分けの方法を紹介しましたが、 実は私は 6 節のソースをさらに多少拡張したものを 利用しています。それは、 のような点です。

前者は $hn[j]$ の値が 0 かそうでないかで条件分岐すればいいだけですが、 この後者は、$pat[j]$ とともに $npat[j]$ (多くは空文字列) を用意しておいて、パターンマッチのところを

  if((pat[j]=="" || str ~ pat[j]) && (npat[j]=="" || str !~ npat[j]))
のようにしています。 これは、$npat[j]$ が空文字列なら通常と同じですが、そうでなければ
「str が $pat[j]$ にマッチして」かつ「str が $npat[j]$ にマッチしない」場合
を意味します。 これによって、「$pat[j]$ にはマッチするんだけど そのジャンルには入れたくないもの」を取り除くことができます。 取り除きは、取り除く方のジャンルを先に持ってきて、 そちらでそのような記事を先に釣り上げる、という手もあるのですが、 セクションの順番をそのような目的で入れかえるのは問題もありますし、 順番を入れかえられない事態もあり得ると思いますので、 そのために排除型のマッチングも用意しています。

他にも、ジャンル分けの精度を上げる方法や、 各ジャンルの記事数をより偏らないようにする方法、 一時的なジャンルの追加を認める方法など、 色々な拡張が考えられると思います。 AWK の利点を生かして、 色々な発展を考えてみたらいいのではないかと思います。


次へ: 参考文献 上へ: AWK による HTML ファイルの整形 その 3 前へ: 6 全体のソースコード
竹野茂治@新潟工科大学
2006年9月8日