SHELL/VIM刪除重複行(去重)

爲自己複習使用,拿來主義,感謝前人!
shell 刪除重複行爲:

cat 文件名 | sort | uniq

其中:
-c或——count:在每列旁邊顯示該行重複出現的次數;
-d或–repeated:僅顯示重複出現的行列;
-f<欄位>或–skip-fields=<欄位>:忽略比較指定的欄位;
-s<字符位置>或–skip-chars=<字符位置>:忽略比較指定的字符;
-u或——unique:僅顯示出一次的行列;
-w<字符位置>或–check-chars=<字符位置>:指定要比較的字符。

刪除重複行:

uniq file.txt 
sort file.txt | uniq 
sort -u file.txt

只顯示單一行:

uniq -u file.txt 
sort file.txt | uniq -u

統計各行在文件中出現的次數:

sort file.txt | uniq -c

在文件中找出重複的行:

sort file.txt | uniq -d

來自: http://man.linuxde.net/uniq

無恥的分割線~~~~~~~~~~~~~~~~~~~~
當然在vim中我們也可以刪除重複行

:sort   //可以直接排序,這個太好用了
:g/^\(.*\)$\n\1$/d                      //去除重複行

當然vim的正則是門大學問,正常情況下awk即可
其中g是全局的意思,其他的均爲正則。
來自http://bbs.51cto.com/thread-964013-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章