查找 bash 中第一列中每个不同值的第 n 列中的最大值

2024-02-09

我有一个 3 列文件,我想找到第三列的最大值,其中行与第一列相同,并且输出中还有第二列。

Input:

1   234   0.005
1   235   0.060
1   236   0.001
2   234   0.010
2   235   0.003
2   236   0.003
3   234   0.004
3   235   0.100
3   236   0.004

期望的输出:

1   235   0.060
2   234   0.010
3   235   0.100

我从之前的问题中找到了这个提示,但我不知道如何获得第二列:

!($1 in max) || $3>max[$1] { max[$1] = $3 }
END {
     PROCINFO["sorted_in"] = "@ind_num_asc"
     for (key in max) {
         print key, max[key]
         }
     }

你可以用这个awk:

awk '!($1 in max) || $3 > max[$1] { max[$1] = $3; two[$1] = $2 }
END { PROCINFO["sorted_in"] = "@ind_num_asc"
   for (i in max) print i, two[i], max[i]
}' file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找 bash 中第一列中每个不同值的第 n 列中的最大值 的相关文章

  • 如何使用 sed 将空格替换为 \(space)?

    当我使用 sed 将所有空格替换为 X 时 该命令有效 命令为 sed s X g filelist tmp 但是 当我尝试用 space 替换所有出现的空格时 代码是 sed s g filelist tmp 这不起作用 我究竟做错了什么
  • Bash + sed/awk/cut 删除第 n 个字符

    我试图删除每行的第 6 7 和第 8 个字符 下面是包含文本格式的文件 实际输出 cat test 18 40 12 172 16 70 217 UP 18 42 15 172 16 70 218 DOWN 格式化后如下所示 cat tes
  • 监听外部事件。 Bash 到 NodeJS 的桥梁

    在 NodeJS 进程内部 我如何监听来自 bash 的事件 例如 NodeJS side obj on something function data console log data Bash side do something Hel
  • bash:清理三个文件的外连接,保留文件成员资格

    考虑以下三个文件 其标题位于第一行 file1 id name in1 1 jon 1 2 sue 1 file2 id name in2 2 sue 1 3 bob 1 file3 id name in3 2 sue 1 3 adam 1
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 使用 awk 解析日志文件

    我尝试使用以下代码解析日志文件 if line match then awk 2 vFiler echo vFiler 解释 有一些行以这样的模式开头 或 vol 后跟名称 我想找到所有以 或 vol 并将后面的字符串设置为等于变量 但我真
  • 如何退出bash中的所有调用脚本?

    假设我有以下脚本 a sh echo in a if test 1 ne 2 then echo oops exit 1 fi b sh echo in b a sh echo in b 2 运行 b sh 时 如果 a sh 退出 我希望
  • Bash 和双引号传递给 argv

    我重新设计了这个示例以使其简单 但我想做的是在 bash shell 执行它时获取一个嵌套双引号字符串作为单个 argv 值 这是脚本示例 set x command1 key1 value1 key2 value2 key3 value3
  • 在后台使用 HERE_DOC 方法运行脚本

    我有一个应该在后台运行的脚本 我必须在运行 bash 后立即回答一个问题 我该怎么做 nohup python script py lst lt
  • 忽略 sed 查找和替换命令中的斜杠

    我正在尝试在终端中使用 sed 进行查找和替换 在 apache 配置文件中 我尝试替换 DocumentRoot var www with DocumentRoot var www mysite com public html 从命令行
  • 如何重命名 bash 函数?

    我正在围绕另一个定义 bash 函数的软件包开发一些方便的包装器 我想用我自己的同名函数替换他们的 bash 函数 同时仍然能够从我的函数中运行他们的函数 换句话说 我需要重命名它们的函数 或者为其创建某种持久别名 当我创建同名函数时 该别
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • 如何使用 bash 中提供的工具生成一系列非周末日期?

    我想生成一个文件列表 其中名称包含 filename date 例如file 20111101 file 20120703 开始November 1 2011直到今天 应该不包括周末 Thanks 2011年试试这个 for y in 20
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 使用 grep 查找所有匹配的模式

    In txt1 S01A1P2 S01A1P5 S01A1P4 In txt2 data train wave S01A1P3 mfc data train wave S01A1P7 mfc data train wave S01A1P8
  • 用于获取特定用户 ID 和进程数的 Bash 脚本

    我需要 bash 脚本来计算特定用户或所有用户的进程 我们可以输入 0 1 或更多参数 例如 myScript sh root deamon 应该像这样执行 root 92 deamon 8 2 users has total proces
  • BASH 中的空函数

    我正在使用 FPM 工具创建 deb 包 此工具在从支持的文件中删除包之前 之后创建 不幸的是FPM生成的bash脚本包含这样的函数 dummy 该脚本退出时出现错误 语法错误 意外 BASH 不允许空函数吗 哪个版本的 bash linu
  • 使用 IFS bash 进行 CSV 解析:选择“;”作为分隔符

    我有一个包含 130 列的 CSV 我需要用它来做 3 个 csv 我用 while 和 IFS 循环 因为我需要对每一行的变量进行一些处理 这是我所做的 while IFS read my 130 vars what i do with
  • 独特的 Linux 文件名,可按时间排序

    以前我用的是uuidgen http man7 org linux man pages man1 uuidgen 1 html创建唯一的文件名 然后我需要通过 bash 脚本按日期 时间迭代该文件名 从那时起 我发现简单地通过 ls l 循
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na

随机推荐

  • iPhone 应用程序在后台运行 10 分钟后终止

    我正在开发一个需要在 iOS4 上后台运行的应用程序 我 希望它像常规的基于位置的应用程序一样 因此背景模式是 设置为位置 应用程序进入后台后运行良好 状态 但 10 分钟后 它不再响应 或许它 被暂停 终止 我想做的是永远在后台运行应用程
  • 为什么我不能在任何方法之外修改类成员变量? [复制]

    这个问题在这里已经有答案了 我有一个带有一些变量的类 当我在主类中实例化该类的对象时 我只能访问和修改一个方法中的成员变量 任何方法 不在他们之外 这是为什么 我被困住了 似乎无法在谷歌上找到答案 class SomeVariables S
  • 第一次尝试简单的 GUI

    我正在尝试自学如何使用 Java swing 和 Window Builder Pro 制作 GUI 在观看了几个 youtube 视频并阅读了一些教程后 我已经完成了以下任务 import javax swing JFrame impor
  • 按带有日期值的单个键对对象数组进行排序

    我有一个包含多个键值对的对象数组 我需要根据 updated at 对它们进行排序 updated at 2012 01 01T06 25 24Z foo bar updated at 2012 01 09T11 25 13Z foo ba
  • Jsoup SocketTimeoutException:读取超时

    I get a SocketTimeoutException当我尝试使用 Jsoup 解析大量 HTML 文档时 例如 我得到了一个链接列表 a href www domain com url1 html link1 a a href ww
  • 将列添加到数据框,测试其他列中的分类变量

    我已经提到过 如何根据另一列的条件语句将因子列添加到数据框 https stackoverflow com questions 16570302 how to add a factor column to dataframe based o
  • 如何实现可重用的回调函数

    我对 JavaScript 相当陌生 我在 Node 中工作 这需要对异步编程和回调设计有很好的理解 我发现使用嵌入式函数非常容易 即使您的回调是多个级别的深度 您的嵌入式回调最终会成为闭包 但是 当您有多层回调 其中许多回调在执行路由上是
  • 为什么我的 Jasmine 规范认为我的 Angular 模块未定义

    为什么我的 Jasmine 规范认为我的 Angular 模块未定义 我在实际模块代码下方添加了一行代码 将布尔值设置为 true 然后我从规范中对其进行 console log 它指示 true 我还尝试更改模块 使其不是超范围 我的术语
  • ansible kubectl 等待节点就绪

    是否有任何现有的 ansible 模块可以用于以下用途 我可以等待kubectl get nodes STATUS Ready kubectl get nodes NAME STATUS ROLES AGE VERSION master1
  • 如何读取和处理(解析)命令行参数?

    在Python中 我们如何找到为脚本提供的命令行参数并处理它们 Related background reading What does sys argv 1 mean What is sys argv and where does it
  • 在位数组中有效查找“1”的位置

    我正在连接一个程序来测试一组电线的开路或短路情况 该程序在 AVR 上运行 将测试向量 步行 1 驱动到电线上并接收返回结果 它将所得向量与已存储在 SD 卡或外部 EEPROM 上的预期数据进行比较 这里有一个例子 假设我们有一组 8 根
  • 员工单独工作时间安排

    我有工作人员的时间清单 我需要查明是否有员工单独工作以及他们一天单独工作了多少分钟 staff start end 1 11 05 20 00 2 11 00 17 00 3 19 00 03 00 4 13 00 20 00 5 19 0
  • Selenium JavaScript - 将元素滚动到视图中而不与标题重叠

    webdriver executeScript arguments 0 scrollIntoView element 这会将元素滚动到视图中 但它位于页面标题的后面 如何将元素滚动到视图中 以便该元素位于标题正下方而不是标题后面 方法scr
  • 视频作为网站上的背景根据命令播放

    我一直在尝试将视频设置为背景 我有 flv 文件和 youtube 链接 使用 html5 视频标签或 jquery 将其放在我的网站上并不困难 但我找不到如何将它放在我的网站上但不能自动启动 我有一个半透明的矩形 文本将显示在其中 所以我
  • 为什么Android布局中的Fragment元素用小写的“f”书写?

    所有其他元素都以大写字母开头 例如RelativeLayout TextView 等 Fragment 元素始终用作
  • 具有 32/16 位除法的处理器上的 64/32 位除法

    我的处理器 http www microchip com wwwproducts Devices aspx dDocName en532298 一个没有 FPU 和整数数学的小型 16 位微控制器 只有 16 16 除法和 32 16 除法
  • 将输入传递给 Angular 2 中的嵌套组件

    如何将属性从包装组件透明地转换为嵌套组件 考虑到有 const FIRST PARTY OWN INPUTS const FIRST PARTY PASSTHROUGH INPUTS all attrs are passed Compone
  • Angular ui 引导程序未加载

    我从示例页面获取所有内容 基本上没有什么不同 控制器和 html 正文是从手风琴示例中纯粹复制粘贴的https angular ui github io bootstrap https angular ui github io bootst
  • 如何更改加载浏览器外 Silverlight 3 应用程序的背景颜色?

    在浏览器外运行 Silverlight 3 应用程序时 启动需要一点时间 但时间足够长 足以引起人们的注意 在此启动期间 托管应用程序的窗口的背景显示丑陋的白色背景颜色 在浏览器中运行时 我们有一个启动屏幕 但它当然是通过 JavaScri
  • 查找 bash 中第一列中每个不同值的第 n 列中的最大值

    我有一个 3 列文件 我想找到第三列的最大值 其中行与第一列相同 并且输出中还有第二列 Input 1 234 0 005 1 235 0 060 1 236 0 001 2 234 0 010 2 235 0 003 2 236 0 00