有一个文件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还是比较快的 嘎嘎!!!!!!