SHELL/VIM删除重复行(去重)

来源:互联网 发布:js遍历文件夹 编辑:程序博客网 时间:2024/06/05 01:20

为自己复习使用,拿来主义,感谢前人!
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

0 0
原创粉丝点击