利用 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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料