1. ホーム
  2. shell

[解決済み] 整数の合計を1行に1つずつ表示するシェルコマンド?

2022-03-22 07:35:15

質問

複数行のテキストを入力として受け取り、それぞれの行に1つの整数が含まれていて、それらの整数の合計を出力するコマンドを探しています。

背景として、私はタイミング測定を含むログファイルを持っています。関連する行をgrepして、ちょっとだけ sed そのファイル内のすべてのタイミングをリストアップすることができます。 私は合計を計算したいのです。私は最終的な合計を行うために、この中間出力を任意のコマンドにパイプすることができます。 私はいつも expr しかし、RPNモードで動作しない限り、これに対処することはできないと思います(その場合でも厄介なことになります)。

整数の和を求めるにはどうしたらいいですか?

どのように解くのですか?

awk を少し使えばいいのでは?

awk '{s+=$1} END {print s}' mydatafile

注意: いくつかのバージョンの awk では、2^31 (2147483647) を超えるものを足す場合に奇妙な動作をすることがあります。より詳しい背景についてはコメントをご覧ください。ひとつの提案として printf ではなく print :

awk '{s+=$1} END {printf "%.0f", s}' mydatafile