0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[awk] 複数列の最大値、最小値

Posted at

Excelで、ざーーっとドラッグして求めるのが簡単だけど、awkでやりたくなったのでメモ。

shellのforを使うのが簡単っぽそう。

最大値

C-shell

set nf = `cat Filename | awk '{print NF}'`
foreach i (`seq $nf`)
cut -f$i Filename | \
awk '{if(max<$1) max=$1} END {printf("%f ", max)}'
end

これで、一応ずらっと最大値が並ぶ。
Filenameは、ファイルの名前。

最小値

先ほどのawkの行を

awk '{BEGIN {min=$1} if(min>$1) min=$1} END {printf("%f ",min)}'

に変えるとよい。
BEGIN{}は、最小値を求めるための初期値。)

つまり、

C-shell

set nf = `cat Filename | awk '{print NF}'`
foreach i (`seq $nf`)
cut -f$i Filename | \
awk '{BEGIN {min=$1} if(min>$1) min=$1} END {printf("%f ",min)}'
end

と、なる。

他に、合計、平均などもこの方法で求められる。
awkの中身を変えれば良い。

んー、ワンライナーにならない。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?