次の形式の240個の浮動小数点数で構成されるログファイルがあります。
5.4
5.1
5.2
5.4
5.4
4.9
5.0
5.2
5.5
5.3
5.6
5.4
5.1
5.3
5.3
5.1
5.2
..
4.8
Bash環境でこのログファイルにアクセスするには、このデータの平均値(要素の合計を要素数で割った値)を計算し、結果の値を同じ目的のスクリプトで使用する新しい変数として何らかの目的で保存する必要があります。たとえば、平均 = 5.0 変数を保存する必要があります。 bashスクリプトから直接これを実行できますか?
答え1
awkを使用してください:
awk '{sum+=$1}END{print sum/NR}' file.log
bash変数に保存するには、コマンド置換を使用します。
variable=$(awk '{sum+=$1}END{print sum/NR}' file.log)
精度を変更するには、次のものを使用できますprintf
。
variable=$(awk '{sum+=$1}END{printf "%.1f", sum/NR}' file.log)