利用 AWK 與 SORT 抓取欄位最大值

檔案中 第一欄為 Key, 第二欄為 Value, 要透過 Bash shell script 來計算列出 Key 與 最大值.

利用 AWK 與 SORT 抓取欄位最大值

檔案內容(2欄):

  • cat a.txt # 內容如下
    aaa 1
    bbb 5
    aaa 20
    bbb 70
    aaa 3
    bbb 7
  • awk '{print $2" "$1}' a.txt | sort -k 2 -k 1rn | uniq -f 1 |awk '{print $2" "$1}' # 結果如下
    aaa 20
    bbb 70

檔案內容(3欄):

  • cat a.txt # 內容如下
    h1 aaa 1
    h2 bbb 5
    h1 aaa 20
    h2 bbb 70
    h2 aaa 3
    h3 bbb 7
  • awk '{print $3" "$2" "$1}' a.txt | sort -k 2 -k 1rn | uniq -f 1 |awk '{print $3" "$2" "$1}' # 結果如下
    h1 aaa 20
    h2 aaa 3
    h2 bbb 70
    h3 bbb 7

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , , , , 。將永久鏈結加入書籤。

發表迴響