使用该列的最大值标准化列数据

2023-12-26

我有一个包含两列的数据文件。我想找出第二列中的最大数据值,并将第二列的每个条目除以最大值。 (所以我将获得第二列

我尝试使用下面的命令:

awk 'BEGIN {max = 0} {if ($2>max) max=$2} {print  ($2/max)}' angleOut.dat

但我收到如下错误消息。

awk: (FILENAME=angleOut.dat FNR=1) fatal: division by zero attempted

注意:第二列中有一些数据为零值。但是当零值除以最大值时,我应该得到零,但我得到了如上所述的错误。

我可以为此获得任何帮助吗?

提前谢谢了。


让我们以此作为示例输入文件:

$ cat >file
1 5
2 2
3 7
4 6

此 awk 脚本将标准化第二列:

$ awk 'FNR==NR{max=($2+0>max)?$2:max;next} {print $1,$2/max}' file file
1 0.714286
2 0.285714
3 1
4 0.857143

该脚本读取输入file两次。第一次,它找到最大值。第二次是打印第二列标准化的行。

三元声明

考虑:

max=($2+0>max)?$2:max

这是 if-then-else 语句的紧凑形式。 “如果”部分是$2+0>max。如果计算结果为真,则后面的值?被分配给max。如果为 false,则后面的值:被分配给max.

更明确的形式if声明也效果很好。

另外,请注意咒语$2+0. In awk根据上下文,变量可以是字符串或数字。在字符串上下文中,>比较字典顺序。我们想要一个数字比较。通过添加零$2,我们正在消除所有疑虑并强迫awk治疗$2作为一个数字。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用该列的最大值标准化列数据 的相关文章

随机推荐

  • 命令超时 | Discord.js

    目前我有这个 const Discord require discord js const PREFIX const token my token var bot new Discord Client bot on ready gt bot
  • 如何在 Spring Boot 应用程序中设置 GOOGLE_APPLICATION_CREDENTIALS

    我正在尝试在java中使用谷歌视觉库 这些步骤指定我需要设置我的身份验证凭据才能开始使用this https developers google com identity protocols application default cred
  • 使条带“数据量”使用带有变量的动态

    我需要让我的脚本签出才能使用我的var priceCheckout priceCheckout 结帐价格值 我尝试将 data amount 2000 替换为data amount priceCheckout 没有任何运气 所以要说清楚 它
  • Rails:重定向到特定域...但不覆盖 SSL?

    因此 我正在将 Rails 3 0 9 应用程序从一个域移动到另一个域 Heroku 建议在应用程序控制器中使用 before filter 以确保每个人最终都进入新域 如下所示 before filter ensure domain if
  • 如何在单个 mySQL 条目中找到多种可能模式之一?更多内容

    我很难总结我的问题 基本上 有一个名为 文件 的表 文件包含一个名为 等级 的条目 它用于识别文件可能有用的特定年级 因为文件对于 gt 1 年级有用 所以我存储这样的内容 如果只适合三年级 等级 3 如果第三 第四和第五名有好处的话 年级
  • 是否可以在谷歌应用程序引擎中启动计时器?

    例如 每 30 秒检查一次状态或定期轮询 Web 服务 应用引擎定时服务 https developers google com appengine docs python config cron允许您配置定期计划的任务 这些任务在定义的时
  • RavenDb 查询单元测试

    有没有一种明智的方法来存根 模拟调用的结果IDocumentSession Query 我有一个命令 我想验证是否在对象上调用了方法 即正在测试的 单元 是命令而不是命令编排的对象 我无法将 Mock 对象 通过 RhinoMocks 保存
  • MYSQL中LIKE和=的区别?

    有什么区别 SELECT foo FROM bar WHERE foobar foo AND SELECT foo FROM bar WHERE foobar LIKE foo 在SQL中进行精确匹配 LIKE进行通配符匹配 使用 作为多字
  • Symfony 服务器:运行错误

    当我尝试运行时出现此错误myproject symfony2 项目 我认为出现错误是因为在该端口上8000 I have ajenti服务器运行nginx Server running on http 127 0 0 1 8000 Quit
  • 使用 JavaScript 解析来自磁条阅读器的信用卡数据

    好的 我有一个 html 表单 显示如下 span span Indicates required field div class fields Swiped Information div
  • 类型定义,#定义

    谁能解释一下两者之间的区别 define int char and typedef int char 没有区别 因为两者都是非法的 int 不是宏的有效标识符 即使您在其中添加空格 也不是int 因为它是一个关键字并且被保留 即使您将其更改
  • @RequestParam 和 @RequestMapping 之间的区别

    Line1 public ModelAndView viewCustomerDetails RequestParam custId Integer customerId RequestParam categoryName String ca
  • 启用 VCL 样式的应用程序和显示缩放时 Windows 标题栏中的视觉错误

    目前我正在测试启用 VCL 样式的应用程序的各个方面 我注意到 Windows 缩放比例高于默认的 96 dpi 100 VCL 表单的图标和标题栏文本太大 并且两者都靠得很近 请参阅随附的屏幕截图 对于 200 或 250 等更高的缩放
  • 如何用 Java 发送电子邮件?

    我需要从 Tomcat 中运行的 servlet 发送电子邮件 我总是会向同一收件人发送相同主题但内容不同的邮件 用 Java 发送电子邮件的简单方法是什么 Related 如何使用 GMail 从 Java 应用程序发送电子邮件 http
  • List.of 和 A​​rrays.asList 有什么区别?

    Java 9 引入了新的列表工厂方法 List of https docs oracle com javase 9 docs api java util List html of E List
  • 如何按颜色划分二分图?

    例如 假设我有一个图 G V E 其中 V A B C D E A B A D C D 该图是二分图 因此可以分为两个不相交的集合 A C 和 B D 我的第一个猜测是 我可以简单地遍历图形并为每个顶点指定交替的颜色 是这样吗 还是比这更复
  • Doctype 元和怪异模式

    请我在这里澄清一些想法 如果未指定文档类型 则调用 Quirksmode but 当从本地主机提供服务时 无论文档类型如何 IE 似乎都会进入怪异模式 请确认这一点 有人可以解释为什么会出现这种情况吗 however 当从本地主机提供服务并
  • 如何有条件地将一行 Excel 数据从一张工作表附加到另一张工作表?

    我不经常使用 Excel 但我希望有一种相当简单的方法来解决这个问题 我查看了许多其他解决方案 涉及将数据从一张纸粘贴到另一张纸 但我找不到任何可以让我 1 将单元格从一张纸匹配到另一张纸 然后 2 有条件附加或连接数据的东西而不是简单地粘
  • 如何在不安装Oracle客户端和cx_Oracle的情况下访问Oracle数据库?

    我有两台分别运行 Python 2 4 和 2 6 的 RHEL 服务器 我需要访问另一台服务器上的 Oracle 数据库 我尝试在 RHEL 服务器上安装 cx oracle 但发现必须先安装 Oracle 客户端 问题是 我没有权限在两
  • 使用该列的最大值标准化列数据

    我有一个包含两列的数据文件 我想找出第二列中的最大数据值 并将第二列的每个条目除以最大值 所以我将获得第二列 我尝试使用下面的命令 awk BEGIN max 0 if 2 gt max max 2 print 2 max angleOut