一、要求
一個文本,每行一個數字,輸出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