おはようございます、
私はawk
ファイル内の複数のデータセットの最大値を使用して決定しようとしています。データがあるとしましょう。
1 2 3
4 5 6 7 8
9 8 7 6 5
4 3 2
1 2 3
4 6 7 8 7
7 8 7 6 5
4 3 2
私は出力が次のようになります:
9
8
4行ごとにデータのサブセットなので、9は最初のセットの最大値、8は2番目のセットの最大値です。最初のコードブロックの上のデータを次にパイプします。
awk 'NR%4<4 || NR==4 {for(i=1;i<=NF;i++) if($i>maxval) maxval=$i;}; END { print maxval;}' > file
ただし、ファイル全体の最大値のみを返します。
9
1つのawkコマンドでn行(ここではn = 4)ごとに最大値を印刷できるかどうかを知りたいです。それとも分割する必要がありますか?私はNR%4 <4 || NR == 4残りの関数が4行目に実行するように指示すると思いましたが、すべてのデータを見て1つの「maxval」だけを決定するようです。
ありがとうございます。
ベストアンサー1
awk '{for(i=1;i<=NF;i++) if($i>maxval) maxval=$i;}
NR%4==0 { print maxval ; maxval= -1}'