awk积累(内置变量、指定分隔符、判断纯小数、数字相加)
2017-03-28 18:42
330 查看
一、awk内置变量
ARGC | 命令行参数个数 |
ARGV | 命令行参数排列 |
ENVIRON | 支持队列中系统环境变量的使用 |
FILENAME | awk浏览的文件名 |
FNR | 浏览文件的记录数 |
FS | 设置输入域分隔符,等价于命令行 -F选项 |
NF | 浏览记录的域的个数 |
NR | 已读的记录数 |
OFS | 输出域分隔符 |
ORS | 输出记录分隔符 |
RS | 控制记录分隔符 |
cat t_doFind_fetch.txt | awk -F ' ' '{if(NF == 3 && ($3 ~ /^[0-9\.]+$/)){print $0}}' > t_doFind_fetch2.txt
二、判断某列是小数
echo "0.123" |awk '{if($0 ~ /^[0-9\.]+$/) print $0;}'
三、awk数字相加
1、整数相加awk用数字和字母相加,不会报错,总和只是所有为数字的字段和,假设文本内容如下(以空格和tab分隔字段):
1 2 3 2 3 4 a b c
使用如下脚本:
cat test.txt | awk -F ' ' 'BEGIN{total=0;} {total+=$1} END{print total;}'
以上脚本的运行过程中并没有报错,并且运行结果为:3
2、科学计数法相加
awk脚本支持科学计数法相加,如下文本:
t_file_fetch = 1.00135803223e-05 t_file_fetch = 4.05311584473e-06 t_file_fetch = 3.09944152832e-06
使用脚本:
cat test.txt | awk -F ' ' 'BEGIN{total=0;} {total+=$3} END{print total;}'
运行结果:
1.71661e-05
相关文章推荐
- awk内置变量、操作符、函数 [转]
- 正则表达式来判断输入0-100的数字,保留两位小数方法的两种方法
- 判断变量是否为数字的方法
- awk 内置变量
- 判断指定数字是否存在于海量数据中
- 判断一个变量是不是在指定的集合 ENUM中
- 长数字隔三位用逗号","隔开,保留两位小数,指定长度,不足补空格
- PHP函数补完:判断变量是否为数字is_numeric()
- 判断字符串变量是否为数字
- 把Decimal变量保留指定的小数位
- 【JavaScript】判断指定字符串是否为有效数字
- JavaScript 判断指定字符串是否为有效数字
- [awk] 用-F指定多分隔符及正则表达式
- 如何判断变量是否是数字
- toFixed() 方法可把 Number 四舍五入为指定小数位数的数字-js
- VC判断是否数字和小数
- awk内置变量、操作符、函数
- awk的域用变量指定
- awk 内置变量的使用
- 判断两个unsigned变量相加有没有溢出