代码之家  ›  专栏  ›  技术社区  ›  Abdel

Unix bash:根据另一列的值,在一列中选择具有唯一值的行

  •  0
  • Abdel  · 技术社区  · 9 年前

    1 3
    1 4
    2 3
    3 3
    4 3
    4 4
    

    1 4
    2 3
    3 3
    4 4
    

    3 回复  |  直到 9 年前
        1
  •  2
  •   anubhava    9 年前

    使用 awk 可以使用键为第1列、值为第2列最大值的关联数组来管理此操作:

    awk '$2 > a[$1]{a[$1] = $2} END{for (i in a) print i, a[i]}' file
    
    1 4
    2 3
    3 3
    4 4
    
        2
  •  2
  •   RavinderSingh13 Nikita Bakshi    9 年前

    awk '!a[$1]{b[++i]=$1} {a[$1]=$0;} END{for(j=1;j<=i;j++){print a[b[j]]}}'  Input_file
    
        3
  •  2
  •   tso    6 年前

    sort

    sort -k2,2rn file|sort -uk1,1n
    
    推荐文章