2013-09-26 95 views
2

我找到很多方法來做到這一點,AWKSED,UNIQ,但他們都沒有在我的文件上工作。如何刪除文件中的重複行... AWK,SED,UNIQ沒有在我的文件上工作

我想刪除重複的行。這裏是我的文件的一部分的例子:

KTBX 
KFSO 
KCLK 
KTBX 
KFSO 
KCLK 
PAJZ 
PAJZ 

注:我不得不手動添加換行符,當我切,並從文件粘貼...由於某種原因,它把所有的變量在一行。讓我覺得我的44,000行文本文件實際上只有「1」行?有沒有辦法修改它,所以我可以刪除dups?

+0

如果你的文件沒有超過一條線,這將是艱難的我們推薦一種方法來刪除重複的行。 – erewok

+0

如果我VI我的文件,它有44,000行。 – Corepuncher

+2

不知道你是否關心訂單,如果沒有的話。簡單地'sort your.file | uniq'應該這樣做。 –

回答

1

Perl的一個班輪:

perl的-Nle '除非($哈希{$ _} ++){$打印_}' 文件

+0

不錯。我看到了一個類似的技術來消除數組中的重複。 – downeyt

4

你可以看到所有的非打印字符這個命令:

od -c oldfile 

如果所有的記錄都在同一行,你可以使用sed to replace一個空格(空格,製表符,換行符)與斷行:

sed -e 's/\s\+/\n/g' oldfile > oldfile.1 

一旦您有多條線路,這AWK一行代碼:

awk '!x[$0]++' oldfile.1 > newfile 

我OUTFILE:

KTBX 
KFSO 
KCLK 
PAJZ 
相關問題