61列のファイルがあります。各行の標準偏差(SD)を計算し、最初の列を無視し、最初の列に基づいて結果を印刷しようとしています。各行には異なる列数があり、一部は行にSDを計算するときに使用されない値のみを含みます。
input file
0.0 4 6 5 1 2 9 4 5 1 .....
0.5 3 1
1.0 3 7 8 2
1.5 3 3 3 4 6 4 5
2.0
2.5 6 7 6 9
答え1
これはLinuxの問題ではありません。
awk 'NF>1{ s=0;s2=0;c=NF-1 ;
for (i=2; i<=NF;i++) { s+=$i ; s2+=$i*$i;}
# compute sd from c,s and s2
printf "%f\n",sqrt((s2/c)-(s/c)^2) ;}'