私は以下のようなLinuxシステムで日々のファイル出力を持ち、$ 1と平均$ 3と$ 4 $ 5 $ 6 $ 7に基づいて30分ずつデータをグループ化する方法があるのだろうかと思っていましたawk/gawkなどのシェルスクリプトを使って$ 8?bash group timesとaverage + sum columns
04:04:13 04:10:13 2.13 36 27 18 18 0
04:09:13 04:15:13 2.37 47 38 13 34 0
04:14:13 04:20:13 2.19 57 37 23 33 1
04:19:13 04:25:13 2.43 43 35 13 30 0
04:24:13 04:30:13 2.29 48 40 19 28 1
04:29:13 04:35:13 2.33 56 42 16 40 0
04:34:13 04:40:13 2.21 62 47 30 32 0
04:39:13 04:45:13 2.25 44 41 19 25 0
04:44:13 04:50:13 2.20 65 50 32 33 0
04:49:13 04:55:13 2.47 52 38 16 36 0
04:54:13 05:00:13 2.07 72 54 40 32 0
04:59:13 05:05:13 2.35 53 41 19 34 0
はとても基本的にデータのこの時間はこのようなものになるでしょう:
04:04:13-04:29:13 2.29 287 219 102 183 2
04:34:13-04:59:13 2.25 348 271 156 192 0
これは私が時間枠の間で検索するのawkを使用して、これまでに得ているものですが、私は簡単にあると思いますグループ分けは、これはあなたが欲しいものを行う必要があり、各30分間隔
awk '$1>=from&&$1<=to' from="04:00:00" to="04:30:00" | awk '{ total += $3; count++ } END { print total/count }'|awk '{printf "%0.2f\n", $1'}
awk '$1>=from&&$1<=to' from="04:00:00" to="04:30:00" | awk '{ sum+=$4} END {print sum}'
だから、あなたがこれまでに試してみましたでしょうか? –
awkを使用してハードコードされた時間範囲で値を個別に取得することができますが、これは私が得た限りです。今まで私の主なスレッドを更新しました – user1999357
例えば、次のようにして、時間から分を抽出することができます。 'time = $ 1; min = substr(time、4,2); '、時間と秒でidemを行い、比較テストを書く。 –