当awk碰到百分号%数值时
文章目录
awk可以通过$1,$2等,对数据进行逻辑判断或处理,比如
|
|
但如果碰到带有百分号%的数据时,则不能直接通过加减乘除进行计算或者判断
|
|
因为系统没有将1%转成数值0.01,无法进行判断$1是否等于0.01
但是可以进行大小比较
|
|
但此时,两行数据都输出了,表示系统认为$1大于0.5
如果与1.00001进行大小判断,则第一行不被输出,与0.0009比较则第一行输出,所以个人感觉,当awk碰到带有百分号的数据时,如果进行大小判断,则不考虑百分号%,看下例,awk把1%当作了1
|
|
所以,如果在处理数据时,碰到百分号进行数据处理时,一定要小心 有一种方法就是,将$1转成数值类型,即将$1加0即可,但不要赋值给$1。 下例打印第一列为%1的行,先将$1加0,转换为数值,转换过程中awk不考虑百分号%,故和1进行比较
|
|
####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
###################################################################
文章作者 zzx
上次更新 2016-05-05