linux下的几种文本去重方法

1、传统方法:cat xx | sort | uniq

  优点:简单直接

  缺点:顺序乱了

2、vim通配符:

: sort //可以直接排序,这个太好用了

:g/^\(.*\)$\n\1$/d    //去除重复行

:g/\%(^\1$\n\)\@<=\(.*\)$/d //功能同上,也是去除重复行

:g/\%(^\1\>.*$\n\)\@<=\(\k\+\).*$/d//功能同上,也是去除重复行


3、awk命令去重输出:awk '!x[$0]++' filename

  应用扩展:cat Afile Bfile|awk ' !x[$0]++' >Cfile

  依次输出A、B两个文件内容,去掉B中与A重复的行,输出到C;多应用于日志拼接。

扫描二维码关注公众号,回复: 3175323 查看本文章

参考:

uniq命令使用参考:http://blog.51yip.com/shell/1022.html

https://www.jianshu.com/p/d13be5331524

猜你喜欢

转载自blog.csdn.net/qq_40809549/article/details/82591302