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*****