我在这个论坛上找到了一些关于这个主题的答案:如何使用 bash/awk 在列表中找到 X 最小值?
但我的问题有点不同。
这是 inpout.txt 文件的示例(一个“,”分隔的文本文件,可以作为 csv 文件打开):
ID, Code, Value, Store
SP|01, AABBCDE, 15, 3
SP|01, AABBCDE, 14, 2
SP|01, AABBCDF, 13, 2
SP|01, AABBCDE, 16, 3
SP|02, AABBCED, 15, 2
SP|01, AABBCDF, 12, 3
SP|01, AABBCDD, 13, 2
SP|02, AABBCDF, 9, 2
SP|01, AABBCDF, 8, 3
这个想法是在“代码”中打印具有相同值的“值”列中具有 2 个最高值的行(并且还保留标题)
输出文件示例:
ID Code Value Store
SP|01, AABBCDE, 16, 3
SP|01, AABBCDE, 15, 3
SP|02, AABBCED, 15, 2
SP|01, AABBCDD, 13, 2
SP|01, AABBCDF, 13, 2
SP|01, AABBCDF, 12, 3
我是 Linux 新手,对 AWK、sed、grep 等非常基本的使用有一些了解,但我不确定如何操作文件以获取上述输出。
任何帮助将不胜感激!