
是否可以根據出現次數排序,而不是根據 az 排序?
所需任務的範例,
輸入 =
Example
Example
Hello
Hello
Input
Input
List
List
World
World
...
期望輸出=
Example
Hello
Input
List
World
Example
Hello
Input
List
World
...
因此,在這種情況下,它會取得每行的第一次出現並將它們按順序排列,然後取得每行的第二次出現並將它們按順序排列,直到不再出現
答案1
您始終可以使用裝飾 - 排序 - 取消裝飾方法:
<input awk -v OFS=: '{print ++n[$0], $0}' |
sort -t: -k1,1n -k2 |
cut -d: -f2-
其中,awk
在每行前面新增行的出現次數作為數字,以sort
作為其第一個鍵(數字順序)進行排序k
,並將原始行作為第二個鍵(預設區域設定排序規則)。
這裡使用:
作為分隔符號而不是awk
的預設 SPC 和sort
預設從非空白到空白的轉換,SPC 將包含在第二個鍵中,這可能(不太可能)對排序產生影響。