各行の値の合計値に対する割合を出す Perl ワンライナー
2016-02-03-3 
[Programming][Perl]
記事にしてなかったのでメモ的に。
各行の値を全体の合計値で割った割合・比率を出力する Perl ワンライナー。
以下のように alias して使っています(zsh)。
実行例:
最後の行に合計値が出ます。
 各行の値を全体の合計値で割った割合・比率を出力する Perl ワンライナー。
以下のように alias して使っています(zsh)。
alias wariai='perl -nle '\''s/,//g;push@v,$_+0;$s+=$_;
END{print join("\n",map{sprintf("%s\t%0.4f",$_,$_/$s)}@v,$s)}'\'
実行例:
% perl -le 'for(1..10){print int(rand(100))}' | wariai
24	0.0552
84	0.1931
82	0.1885
11	0.0253
63	0.1448
23	0.0529
22	0.0506
59	0.1356
51	0.1172
16	0.0368
435	1.0000
最後の行に合計値が出ます。
関連
この記事に言及しているこのブログ内の記事
 
