• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > 一天一个shell命令 linux文本操作系列-diff命令详解

一天一个shell命令 linux文本操作系列-diff命令详解

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了shell diff,linux diff命令,linux中diff命令,linux diff,linux中diff等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这又是一个文件比较命令,熟练掌握会节省你很多工作。还记得comm命令吗?diff比他更加复杂,好用,不仅能比较文件,还能比较目录。 当一个文件有多个版本时候,或者更多复杂的文件,目录比较时,你会期望有一个比comm更有用的命令,diff正是为此而生。

全称:different file

实例:

文件1: v1.txt

hello
  world v1_echo
  v1_diff
  v1_comm
 shell is easy!
</div>

文件2: v2.txt

hello world!
v2_echo
 v1_diff
 easy shell!
</div>

1.普通比较:
$diff v1.txt v2.txt

1,2c1,2
 < hello world
 < v1_echo
 ---
 > hello world!
 > v2_echo
 4c4
 < v1_comm
 ---
 > easy shell!

</div>

列出比较的区别,数字为行数,c是compare

2.一体化输出:

$diff -u v1.txt v2.txt > version.patch

-v1_echo
 +hello world!
 +v2_echo
 v1_diff
 -v1_comm
 +easy shell!
 shell is easy!

</div>

"+"表示补充的行,"-"表示删去的行

3. 更新覆盖v1.txt,注意这里借用了patch

$patch –p1 v1.txt< version.patch

4. 比较v1,v2文件,仅输出v2的变化

$diff -e v1.txt v2.txt

 4c
 easy shell!
 .
 1,2c
 hello world!
 v2_echo
 .
</div>

5.比较目录

借用书上一段解释:

-N 将所有确实的文件视为空文件
-a 将所有文件市委文件文本
-u 生成一体化输出
-r 遍历目录下的所有文件

比较两个目录下所有文本信息

$diff –Naur directory1 directory2

除非你确定这两个目录基本相同,不然不推荐这么用。

6.工作疲劳后,尤其同时做很多事情的时候,会忘了有没有做过上传,或者修改某个目录下的文件。可以这样:

$diff v1.txt /${dir}

直接比较同名文件,高强度下的工作者相信真有体会。

解读下—help

太长,截取少部分解读一下。

Mandatory arguments to long options are mandatory for short options too.
 --normal                                        output a normal diff (the default)
 -q, --brief                                      report only when files differ
 -s, --report-identical-files               report when two files are the same
 -c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context
 -u, -U NUM, --unified[=NUM]     output NUM (default 3) lines of unified context
 -e, --ed                                          output an ed script
 -n, --rcs                                         output an RCS format diff
 -y, --side-by-side                           output in two columns

FILES 的格式可以是‘FILE1 FILE2'、‘DIR1 DIR2'、‘DIR FILE...'或
‘FILE... DIR'。

</div>

解读:

1.-q –s

-q: 只有两个不同是,提示“两个文件不同”

-s: 两个文件相同时,提示“两个文件相同”

$diff -qs v1.txt v2.txt

(有点无聊的命令 )

2. –y

按照列的方式输出,增加了直观性

 hello world               | hello world!
 v1_echo                    | v2_echo
 v1_diff                       v1_diff
 v1_comm                   | easy shell!
 shell is easy!               shell is easy!

</div>

3. file 后面的格式

可以是1.文件 文件 2.目录与目录 3.文件与目录 4. 目录与文件
解释一下,文件与目录的形式,比较的是该目录下 与 比较文件同名的文件比较
如:$ diff v1.txt diff/
则实际是v1.txt 与 diff/v1.txt的比较。这是个很常用的功能。

对比comm
就比较文件而言,comm功能比较简单,但是也很直观,方便
而diff 提供了更强大,更复杂的比较方式,还能对比目录,遍历目录。

用法:diff [选项]... FILES
Compare FILES line by line.

Mandatory arguments to long options are mandatory for short options too.
      --normal                  output a normal diff (the default)
  -q, --brief                   report only when

您可能想查找下面的文章:

  • 一天一个shell命令 linux文本操作系列-diff命令详解

相关文章

  • linux shell命令行参数用法详解
  • Shell脚本查看进程内存真实占用情况
  • LINUX 生产环境搭建推荐教程
  • shell脚本函数:控制颜色、定位、居中显示的代码
  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
  • Shell时间运算及时间差计算方法
  • 详解Linux--shell脚本之正则表达式
  • 很实用的Linux 系统运维常用命令及常识(超实用)
  • 如何调试Linux shell脚本
  • linux下安装配置Memcache和PHP环境的实现

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Shell脚本中获取进程ID的方法
    • 一天一个shell命令 linux文本操作系列-tree命令详解
    • 脚本自动添加crontab示例
    • shell 基本计算、逻辑运算、位运算详解
    • linux脚本实现自动发送和收取邮件的设置方法
    • Shell脚本实现memcache缓存命中率监控
    • Linux执行.sh文件时提示No such file or directory该怎么办(三种解决办法)
    • Linux下查找后门程序 CentOS 查后门程序的shell脚本
    • Linux Shell 脚本编程入门教程
    • SVN限制message字符个数及格式的实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有