刪除檔案中的重複項

刪除檔案中的重複項

我有以下文件.txt

Plummet
Cherist the day
--
The Transatlatins                <-----------duplicate
Mysteriosa                       <-----------duplicate
--
Angel City;Lara McAllen
Love me right                  
--
The Transatlatins
Mysteriosa                     

如何在不改變順序的情況下刪除重複項?和行的空格,我已經嘗試過,sort但我改變了順序並且uniq不帶我重複的內容。

預期結果:

Plummet
Cherist the day
--
Angel City;Lara McAllen
Love me right               
--
The Transatlatins
Mysteriosa                 

答案1

假設該文件的格式是

field1\n
field2\n
\n
field1\n
field2\n
\n

即範例文件中的最後一行應為

Mysteriosa                  Mysteriosa

那麼這應該可以解決問題,前提是\n最後一個條目後面有一個尾隨換行符

sed '$!N;$!N;s/\n/:/g' file | nl -s"|" | sort -t '|' -k2 | awk -F"|" '!_[$2]++' | sort -n | sed -e 's/.*|//' -e 's/:/\n/g'

答案2

命令:

awk '{if (!seen[$1,$2]++)print $0}' filename

相關內容