最近遇到需要对比两个文件夹下文件内容差异的操作, linux-cli 下没有找到合适的工具,所以写了个脚本来解决这个问题。功能类似于 Beyond Compare

功能说明

  • 利用 shell 脚本实现 递归对比文件夹差异
  • 此处脚本硬链为 diffdir 命令

操作示例

  1. dir1 dir2 两个文件夹,内容结构如下

    ➜  test-fir-diff-dir git:(master) ✗ tree
    .
    ├── dir1
    │   └── test.sh
    └── dir2└── test.sh2 directories, 2 files
    ➜  test-fir-diff-dir git:(master) ✗ cat dir1/test.sh
    #!/bin/bashecho "test one"
    echo "I have exit func"
    exit
    ➜  test-fir-diff-dir git:(master) ✗ cat dir2/test.sh
    #!/bin/bashecho "test one"
  2. 利用 diffdir 命令进行文件夹对比

    ➜  test-fir-diff-dir git:(master) ✗ diffdir ./dir1 ./dir2

    结果如下图:

    如果文件夹下有多文件差异,只需在 vim 的命令模式下,键入 qa 即可进入下一对文件对比结果界面。

脚本说明

  • 源码地址:Github-diffdir
  • 依赖:vimdiff diff
  • 功能:递归对比两个文件夹下的文件差异
  • 操作环境:*nix cli
  • 操作要求:vimdiff 基本操作
  • 安装

    git clone https://github.com/fevin/diffdir.git diffdir && cd diffdir
    ln diffdir.sh /usr/local/bin/diffdir

利用 vimdiff 递归对比文件夹差异相关推荐

  1. vimdiff对比文件夹

    背景 在日常开发过程中免不了的是使用文件差异对比工具进行文本差异对比.常用的对比工具有meld.vimdiff.TextDiff等.但是meld.TextDiff等工具都是图形界面工具,对与纯粹的终端 ...

  2. 文件夹差异文件对比工具 meld

    /****************************************************************************************** 文件夹差异文件对 ...

  3. python利用pyside2创建文件夹选择框,文件选择框(无小窗口)

    python利用pyside2创建文件夹选择框,文件选择框(无小窗口) 文件夹选择框 文件选择框 文件多选框 之前利用win32ui创建文件选择窗口非常好用,但是想使用文件夹选择窗口发现行不通.利用t ...

  4. java break递归_如何利用Java递归解决“九连环”公式

    在之前有写到过一点点有关递归的东西,然后想到小时候自己玩的一个玩具--九连环.小时候自己曾经一边玩一边用笔记下来解开这个东西的公式,那是十几年前的事情了.前两天突然想起来,九连环的基本操作就是一个递归 ...

  5. 【C语言函数递归】编程将字符串s倒序输出,要求利用函数递归实现。

    编程将字符串s倒序输出,要求利用函数递归实现. **输入格式要求:"%s" 提示信息:"input your string:\n" **输出格式要求:" ...

  6. 利用python将文件夹中子文件夹中的图片数目大于小于指定的数目分类

    利用python将文件夹中子文件夹中的图片数目大于小于指定的数目分类 find ./ -name ".DS_Store" -depth -exec rm {} \;  Mac 删除 ...

  7. java 递归10 28_如何利用Java递归解决“九连环”公式

    在之前有写到过一点点有关递归的东西点击打开链接,然后想到小时候自己玩的一个玩具--九连环.小时候自己曾经一边玩一边用笔记下来解开这个东西的公式,那是十几年前的事情了.前两天突然想起来,九连环的基本操作 ...

  8. python 画八角形_GitHub - xuedengyue/Turtle_Drawing: 利用Turtle递归绘制分形几何图形

    Turtle_Drawing 利用Turtle递归绘制分形几何图形 一.Turtle的常用方法 方法 描述 turtle.forward(distance) 向当前画笔方向移动distance像素长度 ...

  9. python 对比文件内容差异_使用Python来比较文件夹并提取差异部分

    在客户那边建库,需要把几百个G几十万个文件导入到Oracle里,好不容易导完了才发现中间缺了好几大块数据,约有四分之一吧,郁闷得很. 数据是客户从第三方买的,据客户分析是拷贝过来的时候有部分数据漏掉了 ...

  10. //利用 DirectoryInfo递归遍历文件夹,删除所有文件,文件夹

    static void Test01(string path){DirectoryInfo dir = new DirectoryInfo("d:/aa");//操作目录,这里我们 ...

最新文章

  1. android接入支付宝提示支付取消的方法处理
  2. IBM Tivoli Netview在企业网络管理中的实践(附视频)
  3. 集群、分布式、负载均衡区别
  4. ES01 数据类型、正则表达式、身份证校验
  5. c语言编程时碰到取整去不了_碰到编程墙时如何解开
  6. 玩转Linux文件描述符和重定向
  7. Python高级——长连接与短连接(TCP)
  8. nginx负载均衡配置-windows
  9. Selenium3+python 加载Firefox配置
  10. SFTP上传下载文件
  11. iphone:解析html的第三库hpple初试
  12. 联想服务器安装2019系统,联想支持的Win10 2019年10月更新(1909版本)的机型
  13. 叶俊|知行合一创纪录|杭州创纪录企业管理咨询有限公司董事长简介
  14. Flask框架学习笔记9-jinjia2模板语言
  15. 乔纳森 刘易斯 oracle,火箭或用新劳资协议追小加 特赦条款下签刘易斯
  16. matlab中矩阵的所有元素求和,matlab 矩阵元素求和、求均值(期望)和均方差
  17. 新天绿色能源与建投国融续签温室气体减排项目协议
  18. python图片比对、自动化测试_基于python+appium通过图片对比来做的UI自动化
  19. unl导入导出数据库
  20. PCBA产业摩尔MES解决方案

热门文章

  1. python:使用strip()去掉首尾空格
  2. PackagesNotFoundError: The following packages are not available from current channels: - python=3
  3. java面试 线程_Java面试题(线程)
  4. webservice 安全性 对外_WebService的安全性讨论【身份识别】
  5. linux常用命令详解和用法_详解Linux shell用法中常用命令--read(传参)
  6. java算法题解法_LeetCode算法题-Ugly Number(Java实现-四种解法)
  7. 简述html文档的基本,网页制作简答题答案
  8. 2014年计算机一级考试题目,2014年计算机一级考试WPS及基础模拟试题(2)
  9. java接口非空判断,springboot使用注解做接口非空判断
  10. Kali Linux萌新特别篇