对单个文件中的每一行进行算术运算?

时间:2016-01-13 23:46:45

标签: python bash

我有一个包含很多行的文件,而且它们都是数字,我想添加它们并获得它们的总数,然后我将它放在一个循环中,这样它就可以完成所有这些时间提供所有这些行的结果编号,我无法在bash中执行此操作。 这个例子说我将在100个不同的服务器上运行它,并且我想将这个somefile中的每一行添加到第二个和on,on。

前:

netstat -ant | grep -c :80 > /path/to/somefile

在bash或Python中有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:0)

这是一个bash脚本

sum=0;
while read p; do
  sum=$(($sum + $p));
done <yourfile.txt

echo $sum

答案 1 :(得分:0)

在python中,字符串操作很简单。但是,需要一些信息。

  • 这些数字有哪些类型? (int,float等)
  • 这些数字是分开的? (逗号,标签,空格)

一般形式如下:

while (1)
sum = 0
with open /path/to/somefile as f:
 for line in f:
  sum_list = (line.split('number_separator')
   for entry in sum_list:
    sum += number_type(entry)

现在,sum将是文件的总和。你选择做什么取决于你。

答案 2 :(得分:0)

在awk中:

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