次の表があります。 11月の月の間にのみ記録されたバイト合計をどのように計算できますか?たとえば、以下では11月の行を見つけて、4列に11月に関連する数字を追加したいと思います。どうすればいいですか?
1 arnold user 1933 Nov 7 13:05
2 megan user 10809 Nov 7 13:03
3 sam user 983 Apr 13 12:14
4 mark user 31869 Jun 15 12:20
5 sandy user 22414 Nov 7 13:03
6 semon user 37455 Nov 7 13:03
7 andre user 27511 Dec 9 13:07
8 jim user 7989 Nov 7 13:03
答え1
awk
次のことを試すことができます。
awk '$5 == "Nov" { sum += $4 }END { print sum }' file
80600
$ 5はその月に関連する列を表します。$5 == "Nov"
11月のテーブルのすべての履歴をフィルタリングし、awk
$ 4列の数字を合計します。
答え2
awkを使用してください:
awk 'BEGIN {sum = 0}
$5 == "Nov" {sum += $4}
END {print sum}' < data
data
この履歴を含むファイルはどこにありますか?
答え3
目標月を簡単に変更できるようにするには、すべての月を配列として合計し、関連する配列要素のみを印刷します。
awk '{SUM[$5] += $4} END {print SUM["Nov"]}' file
80600