-2

元のログファイルのサンプル:

"GET /dynamic_preroll_playlist.fmil?domain=13nwuc&width=480&height=360&imu=medrect&pubchannel=filmannex&ad_unit=category_2&sdk_ver=2.4.1.3&embeddedIn=http%3A%2F%2Fwww.filmannex.com%2Fmovie%2Fend-of-the-tunnel%2F20872&sdk_=url http%3A%2F%2Fstatic2.filmannex.com%2Fflash%2F& viewport=10,261,971,0,981,10,10,261 HTTP/1.1", 200, 201, 1516, 16363, "http://static2.filmannex.com/flash/yume_ad_library.swf", pl.networks.com, "Mozilla/4.0 (互換; MSIE 7.0; Windows NT 6.0 ; FunWebProducts; GTB7.3; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30618; FunWebProducts; .NET4.0C)", "24_100_150_188_jZKFKQQjdRNM6e", "0rO0ABXd8AAAACgAAASQAAAaLAAAGiwAAASgAAAaLAAAGiwAAAVoAAAaLAAAGiwAAAVkAAAaKAAAGiwAAAdwAAAaKAAAGiwAAAhIAAAaKAAAGiwAAAhUAAAaKAAAGiwAAAhYAAAaKAAAGiwAAAhsAAAaKAAAGiwAAAiwAAAaKAAAGiw**", " -"、"-"、"@YD_1;233_2739"、-、"-"、"24.100.150.188"、"199.127.205.6"

必要な出力は、ビューポートの 5 番目と 6 番目のフィールドです。

981 10

3 番目と 4 番目のフィールドを生成する以下の gawk コードを取得しました。

910 0

gawk 'match($0, /&viewport=[0-9]+,[0-9]+,([0-9]+),([0-9]+)/, m){print m[1], m[2]}' filename

誰でもこの問題を解決できますか? ビューポートの 5 番目と 6 番目のパラメータをフェッチする gawk コマンドを少し変更するだけですか?

何か案は?事前にどうもありがとう:)

4

2 に答える 2

0

これはうまくいくかもしれません(GNU sed):

sed 's/.*&viewport=\(\([^,]*\),\([^,]*\),\)\{3\}.*/\2 \3/' file
于 2012-08-08T05:24:40.770 に答える