免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2963 | 回复: 12
打印 上一主题 下一主题

求教:如果在AWK下计算 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-29 16:44 |只看该作者 |倒序浏览
我需要从文件中取一些数值,直接在AWK中计算后输出。
我不会太复杂的,只会一些简单的,我在做+,-,X时都正常,只是在计算/时出错。

例:
$zcat 2006052810.Z| awk -F"|" '{print $1,$4,($17-$31)/($17-$46)}'|grep -i "\-1304"
awk: division by zero
record number 1

$

我自己试了一下,如果直接计算比如:2/3之类的,就可以,正常出结果。

请教一下,这应该怎么写?
另:我除完后得到的结果要求是小数点后两位。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2006-05-29 16:49 |只看该作者
方法一:请提供zcat 2006052810.Z输出
方法二:请学习英文和算数研究一下division by zero是什么意思

论坛徽章:
0
3 [报告]
发表于 2006-05-29 17:05 |只看该作者
文件输出:
zcat 2006052810.Z| awk -F"|" '{print $1,$4,$25,$26,$27,$28,$31,$46,$17}' | grep -i "\-1304"
10 460-00-17201-13041  0 189 0 31 203 91 330
10 460-00-17201-13042  0 1632 0 500 2091 1431 2694
10 460-00-17201-13043  0 377 0 56 344 154 592

有很多要计算,这儿的计算是:($25+$26+$27+$28+$31-$46)/$17


那个提示,我看不明白。E文太差,实在是不好意思。

在这儿先谢了。

论坛徽章:
0
4 [报告]
发表于 2006-05-29 19:26 |只看该作者
原帖由 suney 于 2006-5-29 17:05 发表
文件输出:
zcat 2006052810.Z| awk -F"|" '{print $1,$4,$25,$26,$27,$28,$31,$46,$17}' | grep -i "\-1304"
10 460-00-17201-13041  0 189 0 31 203 91 330
10 460-00-17201-13042  0 1 ...


division by zero

除数不能为零

论坛徽章:
0
5 [报告]
发表于 2006-05-29 22:21 |只看该作者
感谢大家的热心

可是我的除数不是零啊。我就是用$46/$17也不行。那是91/330啊。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2006-05-30 00:03 |只看该作者
zcat 2006052810.Z的输出到底啥 样?

论坛徽章:
0
7 [报告]
发表于 2006-05-30 09:58 |只看该作者
zcat 2006052810.Z 的结果。

$zcat 2006052810.Z| awk -F"|" '{print $1,$4,$25,$26,$27,$28,$31,$46,$17}' | grep -i "\-1304"

10 460-00-17201-13041  0 189 0 31 203 91 330
10 460-00-17201-13042  0 1632 0 500 2091 1431 2694
10 460-00-17201-13043  0 377 0 56 344 154 592

$

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2006-05-30 10:08 |只看该作者
请贴出
zcat 2006052810.Z的结果

而不是zcat 2006052810.Z| awk -F"|" '{print $1,$4,$25,$26,$27,$28,$31,$46,$17}' | grep -i "\-1304"的结果


是大家说的不是汉语的原因么?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
9 [报告]
发表于 2006-05-30 10:10 |只看该作者
算了

zcat 2006052810.Z|awk -F"|" '{print NF}'|sort -u

结果是什么?

论坛徽章:
0
10 [报告]
发表于 2006-05-30 10:39 |只看该作者
SRY,不好意思,没看清

zcat 2006052810.Z的结果

10|B09|43|460-00-17204-9432|0.00|0.38|0.00|99.62|98.77|98.03|0|0|0.04|0.00|5.80|0.42|249|488|0|16|4|488|0|6|0|139|0|11|1|489|148|164|265|4
|12|4|0|?|0|0|253|1|0|250|0|44|249|12|0|0|0|0|0|12|249|0|0|0|0|0|6|0|5.80|?|0|0|6|6|0|0|0|6|6|0|0|28676|0|0|0|4|11.02|16.00|5.80|0
10|B09|43|460-00-17204-9433|0.00|0.00|0.00|100.00|91.23|91.67|0|0|0.27|0.00|0.22|0.06|22|57|0|16|2|57|0|5|0|12|0|2|1|58|16|22|24|0|4|0|0|?
|0|0|22|0|0|22|1|6|22|4|0|0|0|0|1|1|22|0|0|0|0|0|6|0|0.22|?|0|0|6|6|0|0|0|6|6|0|0|28676|0|0|0|0|3.00|16.00|0.22|0
10|B05|2|460-00-17203-5022|0.39|0.00|0.00|100.00|98.61|98.09|0|3|0.48|0.80|10.74|1.18|513|1227|0|16|9|1226|0|17|0|299|0|47|1|1228|357
|484|769|0|27|0|0|?|0|0|515|0|0|516|1|180|513|20|0|0|0|0|2|252|514|0|0|0|0|2|246|3|10.74|?|0|0|249|249|0|0|0|249|249|0|0|40176|0|0|0|0|27.00|16.00|10.74|0
10|B05|2|460-00-17203-5023|0.51|0.00|0.00|100.00|95.07|97.56|0|4|0.32|0.52|13.96|1.48|600|1480|0|16|10|1479|0|73|0|330|0|78|0|1480|42
8|538|792|0|27|0|0|?|0|0|604|0|3|601|2|221|600|26|0|0|0|0|0|184|600|0|0|0|0|1|193|4|13.96|?|0|0|194|195|0|0|0|194|194|0|0|40176|3|3|0|0|27.00|16.00|13.96|0
10|B09|26|460-00-17204-9262|1.28|0.00|0.00|100.00|95.12|96.43|0|1|0.28|6.25|0.81|0.21|54|205|0|16|4|204|0|10|0|42|0|3|0|205|29|113|83|0|11|0|0
|?|0|0|54|0|0|54|2|18|54|4|0|0|0|0|5|24|54|0|0|0|0|1|15|1|0.81|?|0|0|16|16|0|0|0|16|16|0|0|28676|0|0|0|0|11.00|16.00|0.81|0
10|B09|26|460-00-17204-9263|0.00|0.00|0.00|100.00|95.77|97.37|0|0|0.57|0.00|0.37|0.16|37|142|0|16|3|141|0|6|0|23|0|8|1|143|37|61|49|0|4|0|0|?|
0|0|38|0|0|37|0|30|37|4|0|0|0|0|0|11|37|0|0|0|0|0|20|0|0.37|?|0|0|20|20|0|0|0|20|20|0|0|28676|0|0|0|1|3.00|16.00|0.37|0
10|B02|12|460-00-17201-2121|0.15|0.00|0.00|100.00|98.02|97.98|2|2|0.82|1.81|16.26|1.59|825|2021|0|16|8|1745|0|40|0|481|0|87|5|2026|529|8
49|1438|0|48|0|0|?|0|23|910|0|1|825|5|255|825|29|0|2|85|0|4|438|825|0|1|31|0|9|565|0|16.26|?|32|32|577|577|0|0|5|609|585|0|19|77413|0|0|1|81|48.00|16.00|16
.26|0


zcat 2006052810.Z|awk -F"|" '{print NF}'|sort -u

0
1
2
84
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP