shell中刪除文件中重復(fù)行的方法
Linux下文本處理工具很豐富很強大,例如這樣一個文件:
www.fzitv.net 192.168.1.1
www.fzitv.net 192.168.1.1
www.fzitv.net 192.168.1.2
ffffffffffffffffff
ffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
fffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeee
gggggggggggggggggggg
可用以下方法去除重復(fù)行:
1.使用uniq/sort刪除重復(fù)行
注意:單純uniq是不行的。
這里我做了個簡單的測試,當(dāng)file中的重復(fù)行不再一起的時候,uniq沒法刪除所有的重復(fù)行。經(jīng)過排序后,所有相同的行都在相鄰,因此unqi可以正常刪除重復(fù)行。
2.使用用sort+awk命令
注意:單純awk同樣不行,原因同上。
也可以使用 awk '!i[$1]++' log;
3.用sort+sed命令,同樣需要sort命令先排序。
相關(guān)文章
Shell腳本實現(xiàn)在Linux系統(tǒng)中自動安裝JDK
這篇文章主要介紹了Shell腳本實現(xiàn)在Linux系統(tǒng)中自動安裝JDK,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-01-01
使用Bash Shell對目錄中的文件實現(xiàn)遞歸式拷貝
這篇文章主要介紹了使用Bash Shell對目錄中的文件實現(xiàn)遞歸式拷貝,適用于Ubuntu等Debian系的Linux系統(tǒng),需要的朋友可以參考下2015-07-07
解決bash:/root/.bashrc:Permission denied的問題
本文主要介紹了解決bash:/root/.bashrc:Permission denied的問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10

