Chinaunix
标题:
根据域比较输出序号
[打印本页]
作者:
blueghost_mt
时间:
2013-08-08 19:11
标题:
根据域比较输出序号
11 elex337_u000014 9 0
12 elex337_Golden214 14 0
14 elex337_u000017 9 0
15 elex337_u000019 11 0
16 elex337_u000020 9 0
17 elex337_Lokio 9 0
18 elex337_u000022 19 0
19 elex337_u000023 11 0
20 elex337_u000024 14 0
21 elex337_swordas15 9 0
22 elex337_Koann 19 0
23 elex337_Vylex 26 0
24 elex337_u000028 19 0
25 elex337_u000014 1 0
26 elex337_Golden214 35 1
27 elex337_u000016 0 0
28 elex337_u000017 22 0
29 elex337_u000019 10 0
30 elex337_u000020 11 0
31 elex337_Lokio 9 0
32 elex337_u000022 9 0
33 elex337_u000023 32 0
34 elex337_u000024 9 0
35 elex337_swordas15 22 0
36 elex337_Koann 11 0
37 elex337_Vylex 22 0
39 elex337_u000042 11 0
40 elex337_u000043 10 0
我有这样一堆数据,这个模式大约3w条
我希望判断出第二个域内重复的选项。然后重复的选项比较第四个域的大小,取出小的输出第一个域,如果相同比较第三个域的大小,同样取出小的输出第一个域,若还是相同则输出第一个,这个该如何写脚本或者awk判断?
求各位大神指教!
作者:
rdcwayx
时间:
2013-08-08 19:18
sort -k2,2 -k4,4n -k3,3n -k1,1n < infile |awk '!a[$2]++'
复制代码
作者:
blueghost_mt
时间:
2013-08-08 21:16
回复
2#
rdcwayx
多谢~很有效,虽然没输出第一项,但问题不大
作者:
rdcwayx
时间:
2013-08-09 06:22
回复
3#
blueghost_mt
25 elex337_u000014 1 0
11 elex337_u000014 9 0
复制代码
第一行和 25 这行比较的话,应该输出25 这行,命令没错,除非有另有想法。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2