海运的博客

Linux下多种方法删除重复行/列

发布时间:November 19, 2012 // 分类:Shell // No Comments

Linux下文本处理工具很丰富很强大,去重复行可用以下方法:

cat log 
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

使用uniq/sort删除重复行,仅能对整行操作。

uniq log 
sort -u log 
uniq log 
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

使用awk按列删除重复行,也可按多列或整行操作。

awk '!i[$1]++' log 
www.haiyun.me 192.168.1.1

使用sed删除重复行:

sed '$!N; /^\(.*\)\n\1$/!P; D' log
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

标签:linux, awk, sed, sort, uniq, 删除重复行

发表评论

分类
最新文章
最近回复
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。
  • CQ: -m state --state NEW 替换成-m conntrack --ctstate NEW
  • CQ: 你好,我入站已经成功分流,但是不知道出站怎么设置,PREROUTING替换成POSTROUTI...
  • K: 好的,谢谢,我去试试!
  • 海运: 可以试试3proxy
  • daha: PHP的怎么使用???
  • 海运: 换回了5.3内核,5.8用5.3 dtb虽然能开机且负载正常,但也有其它问题,不建议使用。