一般工作中会遇到比较两个文本文件的不同,类似于第二天新增数据、或者修改数据统计。我查阅资料查到一下两种方法。

说明  $1 $2 为要比较的两个文本文件  此处使用参数代替

1  grep -F -v -f $1 $2 |sort |uniq

-f<范本文件>或--file=<范本文件>   指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。

-F或--fixed-regexp   将范本样式视为固定字符串的列表。

-v或--revert-match   反转查找。

使用此命令可以实现上述功能,文件大小或者数量不大时,没有问题,但是当文件过大,就像我线上处理的几G的文件就将32G的内存吃的满满的,所以使用该脚本时注意内存监控。

2  cat $1 $2 | sort | uniq -d >temp.txt

cat $2 temp.txt | sort | uniq -u > $3

该脚本思路是先求出两个文本的交集,然后用一个文件去除掉交集部分,剩下的部分也就是两个文本差异化的部分。

我同样在线上处理几G的文本,并进行内存监控,并未发现严重吃内存的现象,并且速度较比第一种也快了很多,因此建议使用该脚本来操作 。

使用shell比较两个文本的差异相关推荐

  1. js对比两个文本的差异并高亮显示差异部分

    在线参考demo: http://incaseofstairs.com/jsdiff/ 项目地址: https://github.com/kpdecker/jsdiff 效果图: 测试页面html源码 ...

  2. diff 比较两个文件的差异

    功能:比较两个文件的差异,并把不同地方的信息显示出来.默认diff格式的信息. diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的补丁文件.也使用patch命令对 ...

  3. jsdiff 比较文本内容差异

    翻译自 jsdiff JavaScript文本内容差异实现. 基于"An O(ND) Difference Algorithm and its Variations" (Myers ...

  4. 如何匹配两段文本的语义?

    喵喵喵,好久不见啦.首先很抱歉大家期待的调参手册(下)迟迟没有出稿,最近两个月连着赶了4个DDL,整个人都不好了.最近几天终于有时间赶一下未完成的稿子了.在赶DDL的时候夹着写了这篇文章,就先发布这一 ...

  5. python中字符串之间的比较_如何利用python来对比两个字符串的差异

    今天来介绍如何通过difflib模块实现字符串差异对比.Difflib的作用是对比文本之间的差异,且支持输入可读性比较强的HTML文档.下面来看一下示例. 1. 两个字符串的差异对比,代码如下: im ...

  6. linux两文件对比,linux对比两个文件的差异

    在项目维护阶段,经常会对垃圾文件进行清理.比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了:废话不多说直接上代码: 1.首先准备好从数据表导出来的数据,方法随意 2.在服务 ...

  7. 比较两组数据的差异用什么图更直观_科研数据可视化:巧妙运用各种形式的图表...

    导读: 图片和表格不仅是讲述科研故事的有力工具,也是科学出版物的重要组成部分.科研论文数量种类庞杂,在这个快节奏的时代,为了更高效地获取论文的重要信息,读者通常会跳过稿件的正文,而主要查看文中图表所传 ...

  8. SHELL脚本编程之文本处理

    SHELL脚本编程之文本处理 文件处理三剑客之grep grep命令 语法格式 grep参数 grep和egrep 文件处理三剑客之sed sed工作模式 sed选项 sed中的pattern详解 s ...

  9. shell脚本两个文件关键行合并

    shell scripts两个文件关键行合并 1.写作意图 2.shell按行读取文件信息 3.提取每行第3列的信息 4.在另一个文件B中查找关键字key 5.字符串非空判断输出 6.关键字key所在 ...

最新文章

  1. 【翻译】使用新的Sencha Cmd 4命令app watch
  2. extjs window显示在顶层
  3. 你知道你的模型可以为公司赚多少钱吗
  4. 阿里巴巴集团CTO王坚:互联网、数据和计算
  5. mingw w64 v8.0.0_使用Visual Studio Code和MinGW编译运行C++代码
  6. lintcode-828. 字模式
  7. RabbitMQ发布确认原理
  8. 数据结构java语言kmp_数据结构(java语言描述)模式匹配——KMP算法
  9. 凑钱1,2,5凑20元钱有多少可能 共有哪几种可能
  10. centos yum 安装mysql
  11. centos下安装JAVA开发工具(1)------JDK
  12. 排序系列 之 堆排序算法 —— Java实现
  13. pytorch: nn.Sequential(func1,func2,func3)
  14. 七月算法机器学习 (16)人工神经网络
  15. c语言笔试题大题带答案,c语言常见笔试题及答案
  16. 2003服务器安全策略
  17. 办公office 2019软件有哪些
  18. Nginx源码安装及调优配置(二)
  19. 机器人SLAM与自主导航——(四)Gazebo仿真机器人导航
  20. 数字档案管理系统解决方案 - 数字化档案建设方案

热门文章

  1. 关于CTF中脚本的编写及使用。ISCC之Retrieve the passcode
  2. 汽车装配线粘合剂市场现状及未来发展趋势
  3. android 打电话流程,Android 打电话 流程
  4. C#计算一个月有多少天
  5. 大数据时代——你是否希望“被遗忘”
  6. 互联网公司那些价值观-阿里巴巴
  7. 文章标题 execution(* cn.sxt.dao.impl.*.*(..))解释
  8. Unity 游戏多语言解决方案和字体错误解决方法的想法
  9. 移动通信网络中的无线电通讯原理
  10. html5超萌哈士奇,哈士奇,是一种让人又爱又恨,又拥有自己独特风格的雪橇犬...