统计文件a的第一列中是浮点数的行的浮点数的平均值

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
dbird
帖子: 23
注册时间: 2011-04-07 22:32

统计文件a的第一列中是浮点数的行的浮点数的平均值

#1

帖子 dbird » 2011-06-30 16:53

$cat a
1.021 33
1#.ll 44
2.53 6
ss 7

awk 'BEGIN{total = 0;len = 0} {if($1~/^[0-9]+\.[0-9]*/){total += $1; len++}} END{print total/len}' a

这样可以实现,其中的^[0-9]是以数字开头,若1.021换成11.021依然成立,求解!!!!
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: 统计文件a的第一列中是浮点数的行的浮点数的平均值

#2

帖子 sk1418 » 2011-06-30 22:43

统计文件a的第一列中是浮点数的行的浮点数的平均值
你的这个命令与你上面的要求不符吧?

按你这个命令,应该是找到文件a中第一列的所有浮点数,并求它们的平均值。而你题目要求的,我理解是:
找到第一列是浮点数的所有行,然后在这行里求行内浮点数的平均值。

你究竟要求是什么?
---
regards,

Kent
头像
lexdene
帖子: 434
注册时间: 2010-02-21 16:19
来自: 大连
联系:

Re: 统计文件a的第一列中是浮点数的行的浮点数的平均值

#3

帖子 lexdene » 2011-07-01 12:25

没看懂问题在问什么。
头像
dbird
帖子: 23
注册时间: 2011-04-07 22:32

Re: 统计文件a的第一列中是浮点数的行的浮点数的平均值

#4

帖子 dbird » 2011-07-12 14:57

sk1418 写了:
统计文件a的第一列中是浮点数的行的浮点数的平均值
你的这个命令与你上面的要求不符吧?

按你这个命令,应该是找到文件a中第一列的所有浮点数,并求它们的平均值。而你题目要求的,我理解是:
找到第一列是浮点数的所有行,然后在这行里求行内浮点数的平均值。

你究竟要求是什么?
就第一列的浮点数的平均值。。
头像
ChenFengyuan
帖子: 770
注册时间: 2008-03-23 0:39

Re: 统计文件a的第一列中是浮点数的行的浮点数的平均值

#5

帖子 ChenFengyuan » 2011-07-12 16:59

dbird 写了:
sk1418 写了:
统计文件a的第一列中是浮点数的行的浮点数的平均值
你的这个命令与你上面的要求不符吧?

按你这个命令,应该是找到文件a中第一列的所有浮点数,并求它们的平均值。而你题目要求的,我理解是:
找到第一列是浮点数的所有行,然后在这行里求行内浮点数的平均值。

你究竟要求是什么?
就第一列的浮点数的平均值。。
第一列的有些行不是浮点数吧,你想怎么算?就是当成什么?
回复