【文件去重】linux下的几种文本去重方法
1、传统方法:cat xx | sort | uniq
优点:简单直接
缺点:顺序乱了
2、awk命令去重输出:awk '!x[$0]++' filename
应用扩展1:cat Afile Bfile|awk '!x[$0]++' >Cfile
依次输出A、B两个文件内容,去掉B中与A重复的行,输出到C;多应用于日志拼接。
灵活扩展2:cat Afile|awk '!x[$0]++'
也可以写作:awk '!x[$0]++' Afile
去掉重复的行,输出A文件
3、vim通配符:
: sort //可以直接排序,这个太好用了
:g/^.∗.∗$\n\1$/d //去除重复行
:g/\%(^\1$\n\)\@<=.∗.∗$/d //功能同上,也是去除重复行
:g/\%(^\1\>.*$\n\)\@<=\k\+\k\+.*$/d//功能同上,也是去除重复行
这几条命令我抄的,没用成功,有用成功了的麻烦告诉下,谢谢。
————————————————
版权声明:本文为CSDN博主「川中胡子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40809549/article/details/82591302