Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我有一个很大的制表符分隔文件,其中一部分看起来像这样:
我只想对每一行进行排序和选择:x,y,z基于第一列(在UNIX中)与之关联的最大值
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我有一个很大的制表符分隔文件,其中一部分看起来像这样:
33 x 171 297 126
4 x 171 300 129
2 x 171 303 132
11 y 163 289 126
5 y 163 290 127
3 y 163 291 128
2 y 163 292 129
2 y 170 289 119
2 z 166 307 141
2 z 166 308 142
6 z 166 309 143
4 z 166 329 163
2 z 166 330 164
我只想对每一行进行排序和选择:x,y,z基于第一列(在UNIX中)与之关联的最大值
最佳答案
您可以使用awk
执行此操作:
awk '
{
key = $2;
flag = 0;
if (key in value) { max = value[key] ; flag = 1 };
if (flag == 0 || max < $1) { value[key] = $1; line[key] = $0 };
}
END {
for (key in line) { print line[key] };
}
' data.tsv
关于linux - 对两列的制表符分隔文件进行排序和唯一化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43744597/
10-13 05:35