在awk中解析数字

马丁·维格特(Martin Vegter)

我有一个文本文件,在第二栏中有数字,数字有千位分隔符和十进制分隔符:

2014-01     2,277.40
2014-02     2,282.20
2014-03     3,047.90
2014-04     4,127.60
2014-05     5,117.60    

我需要对数字求和,但是以下awk语法不起作用:

awk '{X=X+$2} END {print X}' file

它返回16,这显然是错误的。我怎样才能知道awk将其读取为2277.40而不是2,277.40

阿克沙伊

请注意,尽管在将值添加到总计之前需要从输入中除去逗号,但是awk很高兴在有或没有千位分隔符的情况下打印结果。例如,如果您使用以下代码:查看fmt代码中定义的变量。

您的输入:

$ cat file
2014-01     2,277.40
2014-02     2,282.20
2014-03     3,047.90
2014-04     4,127.60
2014-05     5,117.60    

Awk代码:

$ awk '{gsub(/,/,"",$2);sum+=$2}END{printf(fmt,sum)}' fmt="%'6.3f\n" file

结果:

16,852.700

如果你想尝试这个上Solaris/SunOS系统,改变awk这个脚本的开始/usr/xpg4/bin/awk/usr/xpg6/bin/awknawk

希望这会有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析BBCode中的数字

来自分类Dev

解析JSON中的数字错误

来自分类Dev

从句子中解析数字

来自分类Dev

数字日期为awk中的字母顺序

来自分类Dev

使用awk从文件中获取数字

来自分类Dev

awk,数字选择中引号(“)的功能?(Linux)

来自分类Dev

从xml解析中的awk语句中的substr

来自分类Dev

在“ for”循环bash中解析多个awk变量

来自分类Dev

awk或sed解析日志文件中的数据

来自分类Dev

在python中解析XML以获取数字

来自分类Dev

在R中解析和计算数字

来自分类Dev

Qt:如何解析json中的数字

来自分类Dev

如何在C ++中解析数字表

来自分类Dev

解析x,y,z方程中的数字

来自分类Dev

从文件中解析数字并使用这些数字进行计算

来自分类Dev

在logstash中对数字的部分进行解析/解析

来自分类Dev

如何使用awk在makefile中按数字打印列?

来自分类Dev

使用awk从相邻列和连续行中减去数字

来自分类Dev

使用awk从相邻列和连续行中减去数字

来自分类Dev

awk脚本在一列中添加数字

来自分类Dev

截断awk中的最后3位数字

来自分类Dev

使用awk和sed在字符串中递增数字

来自分类Dev

如何在awk数组元素中添加数字?

来自分类Dev

如何使用awk对大文件中的数字进行减法

来自分类Dev

如何使用awk比较文件中连续行上的数字

来自分类Dev

使用awk或sed替换小于8的句子中的单词或数字

来自分类Dev

用awk(或grep)计算文件中不同数字的出现

来自分类Dev

从文件中解析字符串中的数字

来自分类Dev

如何解析和替换awk中的GPU日志?