【发布时间】:2017-03-25 03:27:05
【问题描述】:
我有大约 100 个文件,我想对文件的第二列进行算术运算(例如求和),以便将一个文件的第一行的值添加到第二个文件的第一行值对于每个文件中第 2 列的所有行,以此类推。
在我的实际文件中,我有大约 30 000 行,因此不可能对这些行进行任何类型的手动操作。
文件A
1 1
2 100
3 1000
4 15000
文件B
1 7
2 500
3 6000
4 20000
文件C
1 4
2 300
3 8000
4 70000
输出:
1 12
2 900
3 15000
4 105000
我使用它并将其运行为:script.sh listofnames.txt(所有文件都具有相同的名称,但它们位于不同的目录中,所以我用$line 将它们引用到具有目录名称列表的文件中)。这给了我一个语法错误,我正在寻找一种方法来定义“总和”。
while IFS='' read -r line || [[ -n "$line" ]]; do
awk '{"'$sum'"+=$3; print $1,$2,"'$sum'"}' ../$line/file.txt >> output.txt
echo $sum
done < "$1"
【问题讨论】: