diff 比较文件异同命令
diff 命令是用来比较两个文件的差异的,是以逐行的方式进行比较,比较文本文件的异同处其语法如下:
diff [选项] filename1 filename2
常用参数:
diff有三种不同的比较模式,不同的比较模式其输出显示也不同;
-d或 --minimal :使用不同的演算法,以小的单位来做比较,默认Normal模式;
-c或 --context :显示全部内容,并标出不同之处,Context模式;
-u或–unified :以合并的方式来显示文件内容的不同,Unified模式;
演示示例:
1、
[root@Centos8 ~]# diff file1 file2
[root@Centos8 ~]#
没有任何输出表示两个文件完全一样;
2、
[root@Centos8 ~]# diff file1 file2 #默认Normal模式
2,4c2,4
< I need to run the laundry.
< I need to wash the dog.
< I need to get the car detailed.
---
> I need to do the laundry.
> I need to wash the car.
> I need to get the dog detailed.
不加任何参数,默认就是Normal模式,如上,第一行 2,4c2,4 前面的数字2,4表示第一个文件中的第2到第4行,中间有一个字母c表示需要在第一个文件上做的操作(a=add,c=change,d=delete),后面的数字2,4表示第二个文件中的第2到第4行;
2,4c2,4 的含义是:第一个文件中的第[2,4]行(注意这是一个闭合区间,包括第2行到第4行)需要做出修改才能与第二个文件中的[2,4]行相匹配。
接下来的内容则告诉我们需要修改的地方,前面带 < 的部分表示左边文件的第[2,4]行的内容,而带> 的部分表示右边文件的第[2,4]行的内容,中间的 — 则是两个文件内容的分隔符号;
3、
[root@Centos8 ~]# diff file1 file2 -c #加了-c,Context模式
*** file1 2021-06-04 11:56:38.582568696 +0800
--- file2 2021-06-04 12:21:36.084086788 +0800
***************
*** 1,4 ****I need to buy apples.I need to run the laundry.
! I need to wash the dog.
! I need to get the car detailed.
--- 1,4 ----I need to buy apples.I need to run the laundry.
! I need to wash the cat.
! I need to get the big car.
前面两行表示文件名,***是file的标识符,---是file2的标识符,*** 1,4 ****
表示第一个文件1到4行,感叹号!表示修改,即需要修改第一个文件的这行才能与第二个文件行系统;加号+表示第一个文件需要天剑的行,-号表示第一个文件需要减去的行,不管什么操作(a=add,c=change,d=delete)都是对第一个文件来说的。
4、
[root@Centos8 ~]# diff file1 file2 -u #Unified模式
--- file1 2021-06-04 11:56:38.582568696 +0800
+++ file2 2021-06-04 12:21:36.084086788 +0800
@@ -1,4 +1,4 @@I need to buy apples.I need to run the laundry.
-I need to wash the dog.
-I need to get the car detailed.
+I need to wash the cat.
+I need to get the big car.
Unified模式,使用命令行 –u 来执行该模式的比较。其比较结果与Context模式很像,但是简化了一些输出。
diff 比较文件异同命令相关推荐
- git diff比较不同commit版本的代码文件异同
git diff比较不同commit版本的代码文件异同 如图,假设像知道app目录下的build.gradle文件 在两次commit(fee9f9cf4b和cdd577e352)之间的异同和变化,可 ...
- git diff 比较文件_使用Python创建你自己的diff工具
为什么我需要自己的diff工具? 我经常使用git跟踪我的编码项目.文章.业务工作等等.git的一个美妙之处在于,你可以通过简单地使用其内置的diff功能来轻松地比较你的工作的不同状态.要使用这个功能 ...
- 基于diff的文件同步算法(上)
1.写在前面 文件同步的核心问题是新旧版本的对比问题.这里所说的版本是指用于区分文件变更的一种状态标记,它可以是我们通常所说的版本号,也可以是时间戳,如修改时间.本文介绍一种基于diff的文件同步算法 ...
- scp 传目录_scp传输文件的命令
scp传输文件的命令 一:scp常规的使用方式: scp可以进行简单的远程复制文件的功能.它是一个在各个主机之间进行复制或文件传输的一个命令工具.它使用一种同ssh一样的安全机制来进行文件的传输. 注 ...
- 文件结构,及相关文件的命令
文章目录 1.文件路径 2. 文件的类型 命令 1. ls命令 2.pwd 显示当前所处的目录 3.cd 更改目录,切换目录 4.mkdir创建目录 5.touch创建目录 6.cat查看文件内容(小 ...
- linux 文件查找命令集:find,locate,wheres,which,type
文章目录 前言 find命令 命令格式: 常用选项: 举例使用 locate命令 命令格式 使用实例 whereis命令 使用过程: which命令 type命令 前言 在linux系统中一切皆文件, ...
- Linux之文件权限命令
Linux之文件权限命令 1. chmod命令的介绍 命令 说明 chmod 修改文件权限 chmod修改文件权限有两种方式: 字母法 数字法 2. chmod 字母法的使用 角色说明: 角色 说明 ...
- 介绍一下Linux 误删文件恢复命令及方法
无论在哪个系统中,删除文件都是必须谨慎的操作.因为如果不小心删除了重要文件,就会导致个人或公司出现重大的损失.类似于windows系统误删了文件,可以使用一些软件进行恢复操作.Linux也是有几款软件 ...
- mysql处理含中文的SQL文件_mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
最近得到了一个数十M的MySQL脚本文件,准备还原为数据库. 以前就使用MySQL-Front短暂使用过MySQL,先用它试试,结果挂掉. 这样吧,先用MySQL-Front创建了空数据库,然后使用m ...
- find name 模糊匹配_Linux的文件搜索命令(locate ,find,grep,find命令和)
刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...
最新文章
- NR 5G 密钥与安全详解
- 在WORD文档里如何添加编号
- 不可思议的素数(下)
- Win7如何关闭 打开文件-安全警告
- 15个问题告诉你如何使用Java泛型
- 【LeetCode】【HOT】3. 无重复字符的最长子串(哈希表)
- Zabbix报警语音
- 软件开发人员的简历项目经验
- 小程序体验版无法显示内容
- 电脑快捷方式图标变白解决方案
- TFT液晶屏、LCD显示屏40pin接口标准
- 原创,呵呵(一张图看明白),USB转TTL、USB转串口、USB转232的区别
- Chrome添加扩展程序
- SAP固定资产模块的表
- 2019年CSDN排名前10名大神
- PLC协议宏通信功能介绍
- 计算机系统的主要部件和功能,《计算机系统的组成》教案
- PMI-PMP模考二错题解析(2022-01-21 21:46:29)
- Calendar之商品促销活动
- 双向数据绑定原理(三种实现方式)
热门文章
- 213.打家劫舍II(力扣leetcode) 博主可答疑该问题
- 计算机系统及原理pdf,计算机系统及工作原理教学设计.pdf
- Undefined variable 'raw_input'pylint(undefined-variable)
- 从零开始学算法 - 快速排序
- flask-script插件
- Ubuntu 16.04 更换阿里云源
- 【转】navicat远程连接mysql,2003 can't connect to mysql server on 10038
- CRM运维工程师主要职责
- JVM、JRE、JDK、Java SE、Java EE、Java ME
- 使用layoutParams设置控件高宽需要注意的问题