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

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