Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59785
  • 博文数量: 7
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-05 14:39
文章分类

全部博文(7)

文章存档

2015年(1)

2014年(5)

2013年(1)

我的朋友

分类: Python/Ruby

2014-07-18 16:54:51

echo 40% |awk '+$0>39'

+$0   ==>  0+$0  ==>  $0+0

40% + 0  这是要做一个加法运算,加法嘛,两边肯定都得是数值, 于是在计算之前,程序会把参与运算的字符串转换成数值来处理。 
按什么规则来转换,是问题所在:为什么 40% 会被 转换成 40 

目测可以这么理解:

从左到右 取数字: 遇到非数字时,转换结束。 
如: 40%  从左到右  取出40 后 %不是数字了,转换就结束了,取值 40.
再如 a40%  从左到右 第一个就是 a , 转换结束,后面的都直接忽略, 取值 0.



例子:
只打印磁盘使用率高于80%:
df -h  |awk '+$5>80'
阅读(1741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~