栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux命令 - diff 命令(比较文件的差异)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux命令 - diff 命令(比较文件的差异)

Linux diff 命令

文章目录
  • Linux diff 命令
    • 简介
    • 常用参数
    • 输出结果解释
    • 实例
      • 实例1:比较两个文件
      • 实例2:并排格式输出


简介
  • Linux diff 命令用于比较文件的差异。

  • diff 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。

  • 参考文章:https://www.runoob.com/linux/linux-comm-diff.html


常用参数
  • " -b " 忽略空格
  • " -B " 忽略空行
  • " -i " 忽略大小写
  • " -c " 显示文件所有内容并标示不同
  • " -r " 对比目录
  • " -u " 合并输出

输出结果解释
  • diff 比较结果的含义,diff 描述两个文件不同的方式是告诉我们怎么样改变第一个文件之后与第二个文件匹配。
  • a = add
  • c = change
  • d = delete
  • 带 < 的部分表示左边文件内容
  • 中间的 - - - 则是两个文件内容的分隔符号。
  • 带 > 的部分表示右边文件内容

实例
  • 自定义两个比较文件
[root@ shell_practice]# cat > file << EOF
> linux
> haha
> redhat
> centos
> EOF
[root@ shell_practice]# cat > file1 << EOF
> linux ubuntu
> redhat
> EOF
[root@ shell_practice]#

实例1:比较两个文件
  • " 1,2c1 " , 第一个文件 (file) 的第 1,2 行,做出修改才能与第二个文件 (file1) 第 1 行相匹配。
  • " 4d2 " , 第一个文件 (file) 的第 4 行 删除才能与第二个文件 (file1) 第 2 行相匹配。
  • 带 < 的部分表示左边文件(file) 第 1,2 行内容
  • 中间的 - - - 则是两个文件内容的分隔符号。
  • 带 > 的部分表示右边文件(file1) 第 1 行内容
[root@ shell_practice]# diff file file1 
1,2c1
< linux
< haha
---
> linux ubuntu
4d2
< centos
[root@ shell_practice]#

  • “ 1c1 ” , 第一个文件(file1) 的 第 1 行 ,做出修改才能与第二个文件 (file) 第 1,2 行相匹配。
  • ” 2a4 “ , 第一个文件(file1) 的 第 2 行 添加内容才能与第二个文件 (file) 第 4 行相匹配。
  • 带 < 的部分表示左边文件(file1) 第 1 行内容
  • 中间的 - - - 则是两个文件内容的分隔符号。
  • 带 > 的部分表示右边文件(file) 第 1,2 行内容
[root@ shell_practice]# diff file1 file
1c1,2
< linux ubuntu
---
> linux
> haha
2a4
> centos
[root@ shell_practice]#

实例2:并排格式输出
  • " -y " 参数,令对比结果并排格式输出
  • " | "表示前后2个文件内容有不同
  • " < "表示后面文件比前面文件少了1行内容
  • " > "表示后面文件比前面文件多了1行内容
[root@ shell_practice]# diff file file1 -y
linux                                    | linux ubuntu
haha                                     <
redhat                                     redhat
centos                                   <
[root@ shell_practice]# 
[root@ shell_practice]# diff file1 file -y
linux ubuntu                             | linux
                                         > haha
redhat                                     redhat
                                         > centos
[root@ shell_practice]#



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号