LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: sgar

关于几个数相加的问题

[复制链接]
发表于 2007-11-16 13:04:52 | 显示全部楼层
哈哈,赞!
同一个问题是有好多种方法的
我首先想到的也是 for in
tr + bc 很妙
awk 做起来很自然.
不过, 有一点, awk 是一个比较大的程序了
这样一个进程应该用来完成比较复杂的工作.
回复 支持 反对

使用道具 举报

发表于 2007-11-19 16:34:51 | 显示全部楼层
  1. $ sed ':a;$!{N;s/\n/+/g};ta' a.txt
  2. 23+34+56+55+67+123+22

  3. $ sed ':a;$!{N;s/\n/+/g};ta' a.txt|bc
  4. 380
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-11-25 00:26:29 | 显示全部楼层
多种方法,学习啦谢谢各位高手啦,不知道有没有人建个群让我们这些新人学习学习呵呵
回复 支持 反对

使用道具 举报

发表于 2007-11-25 13:44:32 | 显示全部楼层
Post by alaxie;1782821
我也来凑一个:
awk '{sum+=$1} END{print sum} ' num.txt


有一点不明白,为什么不用在BEGIN中对sum进行初始化?是不是没有初始化的话,默认初值就是0?

本来还以为应该加上BEGIN,将sum初始化为0的,不过刚刚试了一下,确实不必加上BEGIN
回复 支持 反对

使用道具 举报

发表于 2007-11-26 13:04:57 | 显示全部楼层
TO chenxingxx:

awk中如果没有声明/初始化一个变量,那么它默认就是0(数字)或者""(空字符串).
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表