Linux下統計出現次數最多的指定字段值

2021-09-22 13:26:22 字數 1265 閱讀 9567

假設桌面上有乙個叫「data.txt」的文字,內容如下:

要求:找出「data.txt」檔案中target欄位出現次數最多的值。

在linux終端通過常用工具進行解決,方法如下:

其中組合用到了一些命令列和工具,有cat、awk、cut、sed、sort、uniq、tail——

cat data.txt,獲取並顯示「data.txt」檔案的每一行內容:

cat data.txt | awk '',顯示傳入的每一行中第四個字段:

cat data.txt | awk '' | cut -c 8-,從傳入字串的第八位開始,擷取字串到最後:

cat data.txt | awk '' | cut -c 8- | sed "s/'//g",去掉傳入字串中包含的 ' 字元:

cat data.txt | awk '' | cut -c 8- | sed "s/'//g" | sort,對結果進行排序:

cat data.txt | awk '' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort,去重並統計每種字串出現的次數:

cat data.txt | awk '' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort | tail -n 1,顯示結果中的最後一行:

我們至此已知出現次數最多的target字段值為777,出現次數為2。若有多個相同次數的字段值出現,可以通過修改tail -n後面接的數值來檢視,改為10即顯示結尾10行。

出現次數最多的整數

問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。輸入格式 第一行是乙個整數n,n 2...

出現次數最多的整數

問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。輸入格式 第一行是乙個整數n,n 2...

出現次數最多的數

出現次數最多的數 問題描述 給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的乙個。輸入格式 輸入的第一行只有乙個正整數n 1 n 1000 表示數字的個數。輸入的第二行有n個整數s1,s2,sn 1 si 10000,1 i n 相鄰的數用空格分隔。輸出格式 輸出這n...