Skip to content.

kagome.lab.tkikuchi.net

Sections
Personal tools
Views

演習2

Document Actions
文字列照合の実際

はじめに

  • ~/da/ex2 ディレクトリを作成し、その下で演習を行うこと。

UNIX コマンド grep

  • Global Regular Expression Pattern
  • 文字列のパターンをファイルから検索
  • 一致した行を表示
  • 用例
    • $ grep ear /usr/share/dict/words

Python で grep もどき

  • grepmodoki.py
  • 補足説明
    • sys.argv[n] ... コマンドラインの n 番目の文字列
    • for s in f: ... ファイル f から1行ずつ s に入れて繰り返し
    • s.find(key) ... key を s の中から探す
    • print s, ... 印字。末尾に改行があるので、, で改行の追加を抑制。

C で grep もどき

正規表現の練習

  • y で始まって ear が含まれる単語
  • $ grep ’^y.*ear’ /usr/share/dict/words
  • ear が含まれ ness で終わる単語
  • $ grep ’ear.*ness$’ /usr/share/dict/words

Python の re モジュール

ログ解析

  • 高知大学気象情報頁 のアクセスログを1日分 /net/fs/home0/isstaff/tkikuchi/da/wx.log に置いてある。
    • more /net/fs/home0/isstaff/tkikuchi/da/wx.log で見てみなさい。
  • 最新画像は /<二文字コード>/00Latest.jpg の名前なので、 logcount.py のようなプログラムを作成すると、画像の種類ごとの 最新画像へのアクセス数をまとめることができる。
    • パターンの全部又は一部を括弧でくくっておくと、適合オブジェクト(match object)の メンバー m.group(n) でそれを取り出すことができる。ただし、n は右開き括弧の 出現順序から得られる正の整数(この場合 n=1)。

演習問題

  1. logcount.py のプログラムでは、応答コードが 404 のような、存在しないファイルへの アクセスもカウントされてしまう。実際にデータ転送が行われたのは応答コードが 200 の ときだけであるとして、このプログラムを修正しなさい。(q2-1.py という名前で作成する)

参考情報

Created by admin
Last modified 2006-06-09 15:26
 

Powered by Plone

This site conforms to the following standards: