[MUSASHI-users 467] Re: アクセスログの複数条件による集計

アーカイブの一覧に戻る

Hiroko Ishikura s04ma****@sub*****
2005年 1月 5日 (水) 18:02:18 JST


海老澤様

石倉です

> ・XMLヘッダ内のフィールド名を変えるコマンドが見つからなかったので
>  一部Unixコマンドを使用しました。

MUSASHIにはXMLtableのヘッダー(フィールド名)を変更するxtheaderというコマンドがあります。

以前からxtheaderコマンドはあったのですが、部分的にある項目名だけを変更したい場合に
簡単な方法がなかったのでそれができるようにMUSASHI-CORE 1.0.4 Releaseで変更機能が追加されました。

下記にMUSASHIのページにある2004/12/06 MUSASHI-CORE 1.0.4 Release 変更点の部分に掲載されている
部分を貼付けました。

<部分的な項目名の変更機能追加>
これまでXMLtableのある項目名だけを変更したい場合、簡単な方法がなかった。
例えば、A,B,C,D,Eの五つの項目名を持つデータにおいて、CをXに変えたい場合、
xtheader -a A,B,X,D,E
もしくは、
xtcut -f A,B,C:X,D,E
のように全項目を指定する必要があり、特に項目数が多くなると(例えば200項目!!)非常に面倒くさいこととなる。
そこでxtheaderコマンドに-fオプションを追加した。上記の例では、
xtheader -f C:X
のように、変更したい項目名のみを指定すれば、部分的な項目名の変更が簡単にできる。

> ### NoIDのフィールド名「PV」を「PV_noID」に変更
> sed s/PV/PV_nID/ tmp/result_nId.xt > tmp/result_nId_tmp.xt
> rm -f tmp/result_nId.xt
> mv tmp/result_nId_tmp.xt tmp/result_nId.xt

(上記を例にする)
「PV」というヘッダーの項目を「PV_noID」に変更したい場合、MUSASHIで記述すると
xtheader -f PV:PV_noID

となります。

###全体とURL別の2つのXMLテーブルをマージする
xtcat -n -i'tmp/nld_*.xt'  -o tmp/result_nld.xt

というブロックの最終行に追加すれば良いと思います。
そうすると、

xtcat -n -i'tmp/nld_*.xt'  |
xtheader -f PV:PV_noID -o tmp/result_nld.xt

となります。ご参考まで。

---
Hiroko Ishikura  s04ma****@sub*****




MUSASHI-users メーリングリストの案内
アーカイブの一覧に戻る