1
這裏是日誌的一條線的一個例子:如何使用bash腳本對兩個字段進行分組?
2016-04-24 23:59:45 -1 6bd3fbb8-65ac-4d16-bf32-48659a76c499 2 +15173583107 14 +161760555935 14 de.xxxx-O2 layxxxd 0 1
我知道如何通過一組提交的,所以這是解決方案:
awk '{arr[$11]+=$12} END {for (i in arr) {print i,arr[i]}}' exmaple.log
,這將是結果:
xx 144
layxxxd 49.267
我的問題是,我怎麼能由兩個字段而不是一個,第一個應該是$11
和第二個是$10
?所以結果應該更改爲:
layxxxd unknown 100
layxxxd de.xxxx-O2 44
嘗試是這樣的:'AWK「{改編[$ $ 11 12 + = $ 12} END {了(我在ARR){ print i,arr [i]}}'exmaple.log' – ritesht93
@ ritesht93不,從不執行'arr [$ 11 $ 12] ...',因爲它將字段的不同組合變成了相同的索引字符串。例如$ 11 =「a」和$ 12 =「bc」會創建與$ 11 =「ab」和$ 12 =「c」相同的數組索引「abc」。請參閱[@ anubhava的答案](http://stackoverflow.com/a/36885254/1745001)瞭解一種有效的方法。 –
@EdMorton噢謝謝..這是一個有效的點:) – ritesht93