Bashでファイルの変数を合計する方法

Bashでファイルの変数を合計する方法

ファイルの数を1行ずつ合計する必要があります。

文書:

1.0
0.46
0.67

合計して3に分けたいです。

私は現在以下を持っています:

while IFS= read -r var
do
   x=$(($var + $x)) | bc -l
done < "file.txt"
echo "$x / 3"

私の間違い:

-bash: 1.0 + 0: syntax error: invalid arithmetic operator (error token is ".0 + 0")

ベストアンサー1

Bash/シェル演算は浮動小数点演算を処理できません。以下を使用して操作を実行できますawk

awk '{sum= sum+$1} END {print sum/3}' file

その後、ファイルを読み取り、各行をに追加しますsum。ファイルの読み取りが終了すると、sum3で割った内容が印刷されます。

おすすめ記事