Linux下文本处理工具很丰富很强大,例如这样一个文件:

cat log

www.jb51.net 192.168.1.1

www.jb51.net 192.168.1.1

www.jb51.net 192.168.1.2

ffffffffffffffffff

ffffffffffffffffff

eeeeeeeeeeeeeeeeeeee

fffffffffffffffffff

eeeeeeeeeeeeeeeeeeee

eeeeeeeeeeeeeeeeeeee

gggggggggggggggggggg

可用以下方法去除重复行:

1.使用uniq/sort删除重复行

注意:单纯uniq是不行的。

shell> sort -k2n file | uniq > a.out

这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq没法删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。

2.使用用sort+awk命令注意:单纯awk同样不行,原因同上。

shell> sort -k2n file | awk '{if ($0!=line) print;line=$0}'

也可以使用 awk '!i[$1]++' log;

3.用sort+sed命令,同样需要sort命令先排序。

shell> sort -k2n file | sed '$!N; /^\(.*\)\n\1$/!P; D'

linux多个文件删除重复行,shell中删除文件中重复行的方法相关推荐

  1. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  2. linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  3. linux 复制指定类型,用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  4. linux shell rm 删除子目录下 所有.o后缀文件

    原理:通过管道命令来操作,先find出主目录 下想删除的文件,然后通过"xargs"这个构造参数列表并运行命令. 实例1:删除当前目录 包括当前目录的子目录下  所有 后缀是 o ...

  5. 用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  6. linux过滤重复字符串,linux – 从制表符分隔文件中删除重复的单词/字符串

    我想使用Linux命令从大的制表符分隔文件中删除重复的单词/字符串. names john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, ...

  7. linux 删除网卡配置文件,linux-如何通过命令行/ shell脚本从etc / wpa_supplicant / wpa_supplicant.conf中删除网络配置文件...

    我在etc / wpa_supplicant / wpa_supplicant.conf中保存了多个wifi网络ssid,如下所示, 我们可以从此wpa_supplicant.conf中删除特定的网络 ...

  8. linux遍历目录删除指定文件,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法-linux删除文件夹...

    本篇文章扣丁学堂Linux培训小编给读者们分享一下利用shell脚本遍历文件夹内所有的文件并作整理统计的方法,文章具有很好的参考价值,感兴趣的小伙伴就随小编来了解一下吧. 环境: Ubuntu下采用s ...

  9. linux shell之删除当前文件夹不包含文件1和文件2的其他所有文件

    1 问题 删除当前文件夹不包含文件1和文件2的其他所有文件,这个当前文件夹里面可以包含子文件夹,然后子文件夹里面也有文件1和文件2,但是这里的文件1和文件2也不应该被删除. 2 解决办法 可以用如下s ...

  10. Linux在文件第一行添加字符,使用shell命令给文件中每一行的前面、后面、指定列添加字符...

    shell给一个文件中的每一行开头插入字符的方法:awk '{print "X"$0}' fileName shell给一个文件中的每一行结尾插入字符的方法:awk '{print ...

最新文章

  1. php model类,PHP培训之PHP Model类
  2. 环信ease-sdk-3.3.4_r1 集成用户头像 昵称功能的简单处理方法
  3. 可穿插PC端浏览器任何位置的爱心分割
  4. 技术差的程序员,90%都输在这点上!骨灰级开发:其实都是在瞎努力!
  5. usb大容量存储设备驱动程序_20年历史了!为什么USB接口还存在?网友:原来如此...
  6. Python操作读写txt文件
  7. git解决error: failed to push some refs to ‘xxx(远程库)‘
  8. # 20155224 第十一周 课堂练习《计算后缀表达式的值》
  9. oracle linux下数据迁移到不同服务器
  10. 协议 UDP、TCP UDP的接发数据的步骤
  11. 图文并茂带你了解成分句法分析
  12. 迪赛智慧数——柱状图(正负条形图):应届生各行业平均薪酬排行
  13. 怎么用计算机测出来体脂,如何测自己的体脂率?
  14. Spark架构原理和生态系统
  15. HDU 3831 DICS 递推dp
  16. 在服务器上利用mmdetection来训练自己的voc数据集
  17. android给按钮边框加颜色代码,Android Studio按钮颜色和边框
  18. OCR调研(留着以后备用)
  19. Fun. 201x年刑侦科推理试题网图题的暴力求解
  20. win10设置代理无法保存的情况

热门文章

  1. -----------------------------------SQL2005的安装问题汇总 --------------------------
  2. 梦幻西游只知道服务器怎么找回,买回八年前的梦幻号,只为找回当年的美好
  3. 强力推荐mac快速查看应用快捷键工具:键指如飞FlyKey
  4. 利用线程池来处理Excel导出功能
  5. 注入——sql注入命令
  6. JavaScript网页特效-“渔夫打鱼晒网”程序设计
  7. 转 javascip学习笔记
  8. 漫反射辐照——并不是很完全的翻译
  9. 超详细markdown语法和typora教程
  10. 看我如何偷取别人的云储币(Siacoin)