テキストファイルの要約を作成しようとしていますが、管理できない1つのひねりがあります。私はいくつかの行を持っており、私は同じカテゴリから連続した行の値の平均を取得したい。カテゴリが変更されたら、結果の要約に新しい行が必要です。bashのテキストファイルから値を集計します
テキストファイルは、次のように(TEXT.TXT)になります。
1 1 a
2 2 a
3 3 a
4 4 b
5 5 b
6 6 a
7 7 a
8 8 b
[OK]を、私はこの(カウンター、カテゴリ、平均1、平均2)を持つようにしたい:
1 a 2.0 2.0
1 b 4.5 4.5
2 a 6.5 6.5
2 b 8.0 8.0
私は、これまでに得たが、それは唯一のすべてをまとめています。これは、結果が
cat test.txt | awk '{avg1+=$1;avg2+=$2;cat=$3;count++}END{print "1",cat,avg1/count,avg2/count}
:
1 b 4.5 4.5
この権利を取得するにはどうすればよいですか?カテゴリを変更することを実現するにはどうすればいいですか? 1つのライナーは素晴らしいでしょう。どうも!
あなたの質問にお答えいただき、現時点では関係のないように見える入力と出力を提供してください。あなたの問題を解決する上で、あなたがする必要があるのは、 'avg1'と' avg2'を配列に変更することです。 –
ヒントのThx、Tomだが、私は自分が望むものに関して、入力と出力が一致していると思う。あなたが何を意味するのか分からないのであれば、わかりません。 – cowhi
投稿が十分に文書化されています(少なくとも私は思っています) –