アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスログの集計ツールを作っているのですが
URLのパラメーター解析の所がうまくいきません。

例えば、以下の様に変更したいのです。

/folder/test.html?ID=0001&TEST=bbb&NAME=1111&WORK=****
/folder/test.html?ID=0002&TEST=ccc&NAME=2222
/folder/test.html?ID=0003&NAME=3333
/folder/test.html?ID=0004&NAME=4444&WORK=****

ID,TEST,NAME,WORK
0001,bbb,1111,****
0002,ccc,2222,
0003,,3333,
0004,,4444,****
(カンマ区切り)

可能ならば、Linuxのコマンドを利用(awkコマンドの連想配列?)
して作りたいのですが、他に簡単にできそうな方法はないでしょうか?

PERLでやるのが無難でしょうか?

A 回答 (2件)

sed、awk、perl、ruby


正規表現が使えるツールなら、何でもOKです。
何を持って無難と判断するのか良く分かりませんが、あなたの
得意なツールでテキスト処理してください。
    • good
    • 0

BEGIN {


OFS=","
IDpat ="ID=[^&]+"
TESTpat="TEST=[^&]+"
NAMEpat="NAME=[^&]+"
WORKpat="WORK=[^&]+"

print "ID,TEST,NAME,WORK"
}
{
ID =match($0, IDpat ) ? substr($0, RSTART +3, RLENGTH -3) : ""
TEST=match($0, TESTpat) ? substr($0, RSTART +5, RLENGTH -5) : ""
NAME=match($0, NAMEpat) ? substr($0, RSTART +5, RLENGTH -5) : ""
WORK=match($0, WORKpat) ? substr($0, RSTART +5, RLENGTH -5) : ""
print ID,TEST,NAME,WORK
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!