如何使用unix从多个文件中添加数字并写入另一个文件

时间:2015-05-26 09:36:43

标签: bash unix awk

我有五个文件,如下所示,单行以逗号分隔值

档案1

abc,100

文件2

abc,200

档案3

abc,300

档案4

abc,700

文件5

abc,800

我需要输出,方法是添加上述所有文件中的数字。 输出脚本应该在单行代码中。

输出文件

abc,2100

2 个答案:

答案 0 :(得分:2)

awk -F, '{code=$1; total += $2} END {printf("%s,%d\n", code, total)}' file1 file2 file3 file4 file5 > outputfile

答案 1 :(得分:2)

尝试:

<div class="vmapSelect"></div>
<div id="vmap" style="width: 960px; height: 400px;"></div>

这可用于多个awk -F\, '{a[$1]+=$2}END{for (i in a){print i","a[i]}}' file* > target 输入文件。

对于预期输出:

key

<强>结果

awk -F\, '{a[$1]+=$2}END{for (i in a){key=key"_"i;cont+=a[i]};sub(/^_/,"",key);print key","cont}' file*