在bash中将它们从文件中删除后,如何将它们的内容相加?

问题描述

我得到了以下代码来完成我需要做的所有事情,但是我对如何在从文件删除年龄后加起来感到困惑。我想我遗漏了一些简单的东西,但继续获得最后添加的每一行的输出。感谢您的帮助!!

#!/bin/bash

wget --user="user" --password= ftp://"address"/pub/personfile.txt > log2.out 2>&1

filename = 'personfile.txt'
n=1
while read line; do
echo "$n $line"
n=$((n+1))
done < $filename

total=0;
age=0;

filename='personfile.txt'
n=1
while read line; do
age=$(echo $line | cut -d'|' -f 3)
total=$(($total+$age))
echo="$total"
done < $filename

输出应该是所有年龄的总和,它会这样做,但将其逐行添加,而不是在一行中添加

解决方法

因为您似乎只是想了解 bash 中的添加...

((total=$total+$age)) 应该正常工作(可选变量取消引用)((total+=age))

来自Advanced Bash Scripting Guide