は、次のように私は、3つの列を持つファイルがあるとしましょう:awkを使用して1つの列の内容を他の2つの列で数える方法は?
00:00:01 Login Steve
00:00:01 Install Sarah
00:00:01 Install Sarah
00:00:02 Explorer Sarah
00:00:02 Explorer Sarah
00:00:02 Install Steve
00:00:02 Firewall Sarah
00:00:02 Logout Steve
00:00:04 Logout Sarah
は、各ユーザが各タイムスタンプに行っユニークなアクションをカウントアップするためのawkを使用することが可能ですので、出力は次のようなものです:
私は、この結果を与えるawk '{count[$1,$3,$2]++}END{for (i in count){split(i,a,SUBSEP); print a[1],a[2],count[i]}}' awktest.txt
を::
00:00:01 Steve Login 1
00:00:01 Sarah Install 2
00:00:02 Sarah Explorer 2
00:00:02 Steve Install 1
00:00:02 Sarah Firewall 1
00:00:02 Steve Logout
00:00:04 Sarah Logout
これは、私が来ている最も近い
00:00:02 Sarah 1
00:00:02 Steve 1
00:00:02 Steve 1
00:00:01 Steve 1
00:00:04 Sarah 1
00:00:02 Sarah 2
00:00:01 Sarah 1
00:00:01 Sarah 1
私はCygwinでこれをやっています。
なぜ出力の最後の2行にカウントがないのですか? – jas
あなたの実際の質問は何ですか?あなたは問題を述べ、それを解決するために何をしましたか。 –
したがって、配列の3つのインデックスのうちの2つを出力し、3つのインデックスのうちの1つが出力から欠落しているコードを書きました。何が問題になるのでしょうか.... –