ループの合計と計算

ループの合計と計算

5つのファイルがあり、各ファイルの最初の行に数字があります。

ファイル数とファイル内の数値の合計を計算できるforループを含むbashスクリプトを作成しようとしています。

これまでに試したことは次のとおりです。

for file in $* 
do
        $[head -1 $file] 
        echo $(head -1) 
done

合計と計算要素を組み合わせる方法はまだわかりません。

ベストアンサー1

私はあなたがしたいことが次のように達成できると思います。

#!/bin/bash
sum=0
count=0
for file in "$@"
do
        number=$(head -1 "$file")
        count=$((count + 1))
        sum=$((sum + number))
done
echo "The sum of the $count file(s) is: $sum"

使用しているファイルの合計を保存するために変数を追加するだけですsum。その後、ループが実行されるたびにcount増加します。countまた、-変数numberにファイル行の先頭を追加しますsum

おすすめ記事