$0
入力の値を1行ずつに単純に足し合わせる。補助情報として、何行が数として扱われたか、平均値など出力する。
10進数で加算を行う。
数かどうかの判定は Scalar::Util の looks_like_number 関数を使っている。値は単純に足している。atof など使っていない。
出力:
1. 合計値
2. 合計に使われた数の個数
3. 合計に使われなかった行の数
4. 平均値
5. 計算に使った秒数(小数点以下6桁)
オプション:
-= : 最初の行をヘッダと見なし、それが何であったかを最後に出力する。
-1 0 : 累計の途中の結果を表示しない。
-1 1 : 途中の結果に加えて、元の入力文字列を右側に連結して出力。
-c 0 : 数値であるかどうかのチェックをしない。高速化のため。
-f N : AWK形式で入力の各行を分割し N番目の列の値を取り出す。
-g : 数で無くとも、できるだけ数の部分を取り出して計算する。
-h : 入力する数は16進数として対応。 md5sum でディリクトリの中のファイル群の一致を見るとき便利。
-q : 冗長な文字列(sum=.. , ave=.. など) を表示しない。
-~ : 累計と値の出力順序を反転する。
-u : 出力のバッファリングをしない。
-f N : AWK形式で列にバラバラにして、1始まりで左からN番目を取り出す。負の数は-1だと最も右の列。
開発上のメモ:
* [split " " , $_ , $fps] がうまく いかなかったので [split] としたが、良かったのか?
--
* bin4tsv/summing 先頭の数字の累計和を取り出すようにしながら、各列全文字列の表示を行番号と共にするようにせよ。
* 足す場所のフィールド番号もAWK形式で(AWKの空白区切りで)指定できるようにせよ。
* -Fで区切り文字を指定できるようにせよ。