- 1 名前:(・∀・)チンポー!! mailto:(・∀・)チンポー!! [04/06/02 11:39]
- perl書きなんだがさ、こうリクに答えてなんか作りたいんだ。
だからリクエストをくれ。
- 85 名前:デフォルトの名無しさん mailto:sage [04/06/19 04:43]
- ttp://x1.shinobi.jp/iga/login.cgi?id=0000005&passwd=008hYIH
上記「アクセス解析」の左上「生ログ」をExcelで使用できるデータに 変換したいのです。以下のような形式です。 「項目1」「\s」「値」「,」「項目2」「\s」「値」「,」...「項目14」「\s」「値」「改行」 1件当たりの総項目数は14件と決まっているのですが、 各件で吐き出される項目はマチマチで項目自体が無い場合があります。 項目をあらかじめ設定しておき、正規検索で改行などを取り除きつつ、 検索がマッチした場合には項目ごとに値を入れ、項目の値が項目自体が 無い場合にも - などを入れるようにして総項目数が揃ったデータにしたい ということです。どのようにすればできるでしょうか? よろしくお願いします。
- 86 名前:85 mailto:sage [04/06/19 04:44]
- 各項目は具体的に以下のものです。
2004/06/17 18:11:30 ・(注:日付時刻です) ページ (注:解析対象ページのこと) ページ回数 サイト回数 前回 初回 モニタ JavaScript Cookie HTTP_REFERER HTTP_USER_AGENT 国/言語 REMOTE_HOST Proxy情報
- 87 名前:85 mailto:sage [04/06/19 04:44]
- これに対して生データの例は
2004/06/17 18:11:30 ・ ページpxpxpx ページ回数39 サイト回数39 前回2004/06/16 23:27:02 初回2004/06/16 0:59:36 モニタ1024 x 768 x 16bit JavaScriptTrue CookieTrue [extract] HTTP_REFERERブックマーク HTTP_USER_AGENTMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.23 [ja] 国/言語日本語 REMOTE_HOSTfllllp000.xxx.xxx.ad.jp Proxy情報△ 2004/06/17 18:09:02 ・ ページ冬05 ページ回数5 サイト回数5 前回2004/06/17 10:36:47 初回2004/06/16 15:26:20 モニタ1024 x 768 x 32bit JavaScriptTrue CookieTrue [extract] HTTP_REFERERブックマーク HTTP_USER_AGENTMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; (R1 1.5); .NET CLR 1.0.3705; .NET CLR 1.1.4322) 国/言語日本語 REMOTE_HOSTnthkid000000.xxx.xxx.ftth.ppp.xxxx.ne.jp 2004/06/17 13:53:07 ・ ページ秋03 ページ回数12 サイト回数12 前回2004/06/17 13:01:33 初回2004/06/16 14:47:05 モニタ1024 x 768 x 32bit JavaScriptTrue CookieTrue [extract] HTTP_REFERERブックマーク HTTP_USER_AGENTMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; (R1 1.5); .NET CLR 1.0.3705; .NET CLR 1.1.4322) 国/言語日本語 REMOTE_HOSTnthkid011111.xxx.nt.ftth.ppp.xxxxx.ne.jp
- 88 名前:85 mailto:sage [04/06/19 04:50]
- 一応、各項目の検索置換は以下のようにしてみましたが、
あらかじめ項目を決めたものに入れていくことまでができません・・・ s/(^20)(.+)(・)(\n)/時間 $1$2$3,/g; s/(ページ)([0-9]+)(\s\s\s\s)/\1 \2,/g; s/(ページ回数)([0-9]+)(\s\s\s\s)/\1 \2,/g; s/(サイト回数)([0-9]+)(\s\s\s\s)/\1 \2,/g; s/(前回)(.+)(\s\s\s\s)/\1 \2,/g; s/(初回)(.+)\n/\1\2,/g; s/(モニタ)(.+)(bit)/\1 \2\3/g; s/(JavaScript)(.+)(\s\s\s\s)/\1 \2,/g; s/(Cookie)(.+)\n/\1 \2,/g; s/(HTTP_REFERER)(.+)\n/\1 \2,/g; s/(HTTP_USER_AGENT)(.+)\n/\1 \2,/g; s/(国\/言語)(.+)\n/\1 \2,/g; s/(REMOTE_HOST)(.+)\n/\1 \2,/g; s/(Proxy情報)(.+)\n/\1 \2,/g;
- 89 名前:85 mailto:sage [04/06/21 07:13]
- テキストエディタで正規表現の置換はできましたが、perlのスクリプトにできない・・・
11ステップで例外などに対応してみました。 エディタの方言で $1→\1 です。 検索/置換 になってます。 1(ページ回数)(.+)(\s\s\s\s)(サイト回数)(.+)(\s\s\s\s)(前回)(.+)(\s\s\s\s)(初回)(.+)\n/\1 \2,\4 \5,\7 \8,\10 \11, 2(モニタ)(.+)(bit)(\s\s\s\s)(JavaScript)(.+)(\s\s\s\s)(Cookie)(.+)\n/\1 \2\3,\5 \6,\8 \9, 3(HTTP_REFERER)(.+)\n/\1 \2, 4(HTTP_USER_AGENT)(.+)\n/\1 \2, 5(国\/言語)(.+)\n/\1 \2, 6(REMOTE_HOST)(.+)\n/\1 \2, 7(Proxy情報)(.+)/\1 \2 8(,)(20)(.+)(\n)(ページ)(.+)(\n)(ページ回数)/\1\n時間 \2\3,\5 \6,\8 9(^20)(.+)(\n)(ページ)(.+)(\n)(ページ回数)/時間 \1\2,\4 \5,\7 10(,)(20)(.+)(\n)(ページ)(.+)(\n)(回数\s)(.+)(\s)(前回)(.+)(\s)(前ページ)(\(JavaScript無効\))(\n)(モニタ)(.+)(\n)/\n時間 \2\3,\5 \6,\8\9,\11 \12,\14 \15,\17 \18, 11(^20)(.+)(\n)(ページ)(.+)(\n)(回数\s)(.+)(\s)(前回)(.+)(\s)(前ページ)(\(JavaScript無効\))(\n)(モニタ)(.+)(\n)/時間 \1\2,\4 \5,\7\8,\10 \11,\13 \14,\16 \17,
|

|