想象一下,您希望在表格的给定字段中保留具有最高值的记录,只需在由另一个字段定义的类别内进行比较(并忽略其他内容)。awk:保留共享一个字段的最高值的记录,同时忽略其他字段
因此,考虑到输入nye.txt:
X A 10.00
X A 1.50
X B 0.01
X B 4.00
Y C 1.00
Y C 2.43
你会想到这样的输出:
X A 10.00
Y C 2.43
这是此以前,相关话题的offshot:awk: keep records with the highest value, comparing those that share other fields
我已经有了一个解决方案(见下文),但欢迎提供想法!
这似乎是自然的方式。由于问题标记为“gawk”,请让我留下一个[link](https://www.gnu.org/software/gawk/manual/html_node/Controlling-Scanning.html),其中详细说明了如何轻松控制用GNU awk输出。可能是相关的。 – Wintermute 2015-03-25 10:48:51
你更简单,更好,谢谢!我利用“拆分字符串”功能来保留未使用的字段,如果您定义了两个数组,则这不是必需的。 – XGrau 2015-03-25 11:14:51