Shell-Script
使用自定義模式排序?
不是根據 az 排序,而是可以根據出現進行排序嗎?
所需任務的範例,
輸入 =
Example Example Hello Hello Input Input List List World World ...
期望的輸出 =
Example Hello Input List World Example Hello Input List World ...
因此,在這種情況下,它獲取每行的第一次出現並將它們按順序排列,然後每行的第二次出現並將它們按順序排列,直到不再出現
您始終可以使用 decorate - sort - undecorate 方法:
<input awk -v OFS=: '{print ++n[$0], $0}' | sort -t: -k1,1n -k2 | cut -d: -f2-
where
awk
在每一行前面加上該行的出現作為一個數字,sort
以便作為其第一個k
ey(數字順序)進行排序,並將原始行作為第二個鍵(預設區域設置排序順序)。這裡使用
:
作為分隔符而不是awk
’ 的預設 SPC 和sort
’ 從非空白到空白的預設轉換與該預設值一樣,SPC 將包含在第二個鍵中,這可能(不太可能)對排序產生影響。