Shell 練習 —— 輸出top10的數字

一、要求

  一個文本,每行一個數字,輸出top10的數字。

二、腳本

2.1 隨機數生成腳本

#!/bin/bash

for i in {1..10000}
do
    echo $RANDOM >> num.dat
done

2.2 統計腳本

#!/bin/bash

# 將數據拷貝到新文件中操作
cat num.dat > file.dat
# 對數據進行 sort 排序 | uniq -c 去重統計 | 
# sort -nrk 1 按照每個數字的出現次數再次排序 | head -n 10 取前十
cat file.dat | sort | uniq -c | sort -nrk 1 | head -n 10 > res.dat
# 循環讀取排序處理後的數據
cat res.dat|while read line
do        
    #echo $line
    # 將每一行中的數據進行數組封裝
    arr=(`echo $line`)
    # 按照格式打印每個數字以及其出現次數
    echo "num: "${arr[1]}" cnt:"${arr[0]}""
done    

三、運行結果

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章