我有一个我似乎无法解决的问题。
我有一个巨大的制表符分隔的文本文件,类似于:
chr 10 20 20 a
chr 30 40 10 b
chr 30 40 15 b
chr 30 40 11 b
我需要的是:1)提取所有唯一行2)在第5列多次表示的情况下(例如b),第4列中具有最大值的行。
所以我在上面的例子中需要的行是:
chr 10 20 20 a (这是唯一的行) chr 30 40 15 b (这是当第 5 列被多次表示时,第 4 列中具有最大值的行。
有没有一种简单的方法可以做到这一点?
那么,按第五列对行进行分组,并为每一组打印第四列最大的行?
假设您没有负数:
例子.txt
代码
输出
我会写:
处理文件两次:
如果您想查看计数为 1 的行,那么我们可以简单地写
这个片段:
产生:
对于像这样的系统:
datamash 的一些细节: