Chinaunix首页 | 论坛 | 博客
  • 博客访问: 199182
  • 博文数量: 8
  • 博客积分: 221
  • 博客等级: 入伍新兵
  • 技术积分: 98
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-07 20:40
文章分类

全部博文(8)

文章存档

2014年(1)

2012年(7)

我的朋友

分类: Python/Ruby

2012-08-07 17:50:50


有一个文件file_num每行为一个数字(整数) 如

...
11
-123
-2342
3
34
64
876
23
134
62346
....

写一个脚本计算它们的和

############################ test.bash

#!/bin/bash

sum=0
exec 3<>$1

while read 1<&3
do
    sum=$((l+sum))
done

exec 3>&-
echo $sum

############################

############################ test.awk

#!/usr/bin/awk

BEGIN{
    sum=0
}
{
    sum+=$0
}
END{
     print sum;
}

########################### 产生测试数据

for((i=0;i<100000;i++));do echo $i > file_num; done

###########################测试

time ./test.sh file_num

输出:

4999950000

real 0m1.887s
user 0m1.361s
sys 0m0.526s

#----------------------

time awk -f test.awk file_num

输出:

4.99995e+09

real 0m0.033s
user 0m0.032s
sys 0m0.001s

#############################

awk还是比较快的 嘎嘎!!!!!!

阅读(2736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~