Bashを使用して2つの数字を追加する方法

Bashを使用して2つの数字を追加する方法

次のファイルがあります。

lab1:/etc/scripts# cat /tmp/tmp.PGikhA/audit.txt                                
   344 server1                                                                            
     1 server2

各行に数字を追加できるようにしたいです。したがって、この場合は344 + 1を加えて345になるようにします。

これまで、私は次のステップを見つけました。

lab-1:/etc/scripts# cat /tmp/tmp.PGikhA/audit.txt |awk '{print $1}'              
344                                                                                                    
1                     

しかし、それらをどのように組み合わせるのかわかりません。 $a + $b構文しか使用できないことはわかっていますが、344と1を別々の変数に入れてこれを行うにはどうすればよいですか?

ありがとうございます。

編集1

合計の代わりに2つの戻り値を取得します。何が間違っているのかわかりません。

lab-1:/etc/scripts# cat /tmp/tmp.jcbiih/audit.txt | awk '{print $1}' | awk '{ sum+=$1} {print      
sum}'                                                                                                                    
344                                                                                                                      
345                                                                                                                      
lab-1:/etc/scripts# cat /tmp/tmp.jcbiih/audit.txt  | awk '{ sum+=$1} {print sum}'                  
344                                                                                                                      
345                                                                                                                      

ベストアンサー1

awkでは、数学演算を簡単に実行できます。例は次のとおりです。

awk '{ total+=$1 } END { print total }'

Bashを本当に使いたい場合は、簡単なループを使用して一度に1行ずつ読み、一緒に追加できます。

count=0 
while read -r number _; do # put the first column in "number" and discard the rest of the line
    count=$(( count + number )) 
done < /tmp/foo
echo $count

おすすめ記事