Bash脚本用于在目录中添加所有文件(每个包含一个整数)的数字

时间:2015-06-04 22:01:37

标签: bash shell awk

我在目录中有很多.txt文件。每个文件只有一个整数。 如何编写bash脚本来添加这些整数并将输出保存到文件中?

3 个答案:

答案 0 :(得分:2)

只需遍历提取整数的文件,然后求它们:

  function (e) {
      console.log(e);
      var item = this.dataItem(this.selectedIndex);
      $("#object").html(JSON.stringify(item));
  }

解释

  • item.StartTime从名称与grep -ho '[0-9]*' files* | awk '{sum+=$1} END {print sum}' 匹配的文件中提取数字。我们使用grep -ho '[0-9]*' files*来阻止获取匹配项的文件名,files*来获取匹配项,而不是整条线。
  • -h循环显示来自-o的值并将它们相加。最后,打印结果。

测试

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

答案 1 :(得分:0)

您可以cat您的文件,然后使用awk总结:

cat *.txt | awk '{x+=$0}END{print x}' > test.txt

test.txt应包含总和。

答案 2 :(得分:0)

创建一些测试文件:

$ for f in {a,b,c,d}.txt; do
>   echo $RANDOM > "$f"
> done

$ cat *.txt
18419
25511
31919
28810

使用Bash求和:

$ i=0; 
$ for f in *.txt; do 
>   ((i+=$(<"$f")));
> done
$ echo $i
104659