diffstat
      这个程序读取diff的输出,并显示每个文件的插入、删除和修改的直方图。Diffstat是一个用于检查大型复杂修补程序文件的程序。它从包含diff输出的一个或多个输入文件中读取,生成针对引用的每个文件更改的总行的直方图。如果输入文件名以.bz 2、.gz、.lzma、.z或.z结尾,Diffstat将通过管道从相应的程序读取未压缩数据。它还可以根据标准输入的管道文件推断压缩类型。
      Diffstat识别来自diff的最流行的输出类型:
      unified,修补程序首选。
      context,最好的可读性,但不太紧凑。
      default,不是很好,但很容易产生。

Diffstat检测由diff输出的行,以判断比较了哪些文件,然后在第一列中计数表示更改类型(插入、删除或修改)的标记。这些在直方图中显示为“、”-“和”!“字符。如果命令行上没有指定文件名,Diffstat将读取标准输入中的差异。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      diffstat  [options]  [file-specifications]

2、选项列表
      -b
            忽略diff中的“二进制文件XXX和YYY不同”匹配的行
      -c
            在每一行输出前加上“#”,使其成为shell脚本的注释行。
      -D destination
            指定一个目录,其中包含可作为应用差异的结果而引用的文件。Diffstat将计算相应文件中的行数(在通过-p选项调整名称之后),以获得每个文件中的总行数。
      -e file
            将标准错误重定向到文件
      -f format
            指定直方图的格式:
            0,为了简洁,它只显示值和一个直方图代码insert (+),delete (-)或modify (!)。
            1,正常格式。
            2,用点填充直方图。
            4,使用直方图打印每个值。
            任何非零值都会给出直方图。点和个别值可以结合在一起,例如-f6给出两者。
      -h
            显示帮助信息并且退出
      -k
            禁止合并报表中的文件名
      -l
            只列出文件名。不生成直方图。
      -m
            从修补程序文件的每个“块”中合并插入/删除计数,以接近修改行的计数
      -n number
            指定用于文件名的最小宽度。如果不指定这一点,Diffstat在去掉常见前缀后使用最长文件名的长度。
      -N number
            指定用于文件名的最大宽度。超过此限制的名称在左侧被截断。如果您没有指定此选项,下面将检查-n选项。
      -o file
            将标准输出重定向到文件
      -p number
            重写删除公共路径名的逻辑,模拟修补程序“-p”选项。
      -q
            抑制空差异的“0文件更改”消息
      -r code
            提供直方图中显示的数据的可选舍入,而不是通过错误调整截断数据:
            0,是默认的。不执行舍入操作,但累积错误将添加到下列中。
            1,舍入数据。
            2,对数据进行舍入并调整直方图,以确保在有任何差异的情况下显示某些内容,即使这些差异通常被四舍五入为零。
      -S source
            这类似于-D选项,但指定了一个可以找到原始文件(在应用差异之前)的位置。
      -t
            重写直方图,生成逗号分隔值的输出。
      -u
            禁止对报表中的文件名进行排序。
      -v
            显示进度,例如,如果输出重定向到文件,则将进度消息写入标准错误
      -V
            显示版本号,并且退出
      -w number
            指定直方图的最大宽度。直方图将永远不会小于10列,以防文件名过大。

3、环境变量
      Diffstat运行在可移植的UNIX环境中。您可以通过设置与输入文件名称相对应的环境变量来覆盖用于解压缩输入文件的程序的编译路径。然而,Diffstat假设生成的程序使用相同的命令行选项,例如“-c”来解压缩到标准输出。
      DIFFSTAT_BZCAT_PATH
      DIFFSTAT_BZIP2_PATH
      DIFFSTAT_COMPRESS_PATH
      DIFFSTAT_GZIP_PATH
      DIFFSTAT_LZCAT_PATH
      DIFFSTAT_PCAT_PATH
      DIFFSTAT_UNCOMPRESS_PATH
      DIFFSTAT_ZCAT_PATH

4、实例
统计差异信息 
      [root@localhost wj]# diff 1.c 2.c
      1c1
      < asd
      ---
      > add
      3,4c3,4
      < dfg
      < ass
      ---
      > dsgf
      > sss
      [root@localhost wj]# diff 1.c 2.c |diffstat -f 2
       unknown |    6 +++---..........................................................
       1 file changed, 3 insertions(+), 3 deletions(-)
      [root@localhost wj]# diff 1.c 2.c |diffstat -f 1
       unknown |    6 +++---
       1 file changed, 3 insertions(+), 3 deletions(-)
      You have new mail in /var/spool/mail/root
      [root@localhost wj]# diff 1.c 2.c |diffstat -f 0
       unknown |    6  3 + 3 - 0 !
       1 file changed, 3 insertions(+), 3 deletions(-)
      [root@localhost wj]#

Linux基础命令---diffstat相关推荐

  1. linux基础命令(五)

    linux基础命令(五) 1.文件管理 cat chattr chgrp chmod chown cksum cmp diff diffstat file find git gitview inden ...

  2. linux怎么取消文件隐藏命令,Linux基础命令:显示隐藏的文件

    Linux基础命令:显示隐藏的文件 来源:互联网 作者:佚名 时间:2013-04-10 13:32 系统中一些文件,和Windows中的系统文件一样,这些文件一般是不显示出来的,那么我们可以使用-a ...

  3. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

  4. linux下kill指令默认信号,Linux基础命令之kill命令

    相信大家在使用Linux的过程中都会遇到过某个程序出错导致系统锁死的情况,按照常规的思维我们会通过重启来重新启动系统.然而事实上在Linux中并不需要进行重启就能够完成出错程序的关闭操作.在Linux ...

  5. linux修改密码最短生存时间,Linux基础命令---修改用户密码

    passwd 更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码.这个任务是通过调用LinuxPAM和LibuserAPI来完成的.本质上,它使用LinuxPAM将自己初始化为一个 ...

  6. Linux 基础命令讲解--加密解密

    Linux 基础命令讲解--加密解密 加密文件: 1.MD5 echo -n "string" | openssl md5   #加密字符串 openssl md5 -in tes ...

  7. 测试常用——linux 基础命令

    测试常用 的 linux 基础命令 1,查看服务器日志 vi 查看文件 (查找关键字:exception /exception  :  从上往下找,按n查找下一个关键字,按shift+n查找上一个关键 ...

  8. linux入门指令 详解,Linux基础命令之mktemp详解

    mktemp 创建临时文件或者目录,这样的创建方式是安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mktemp [ ...

  9. 软件测试 学习之路 linux基础命令 (二)

    一.linux基础命令进阶 1.重定向 例子: ls > 1.txt 把命令返回结果输出到文件中,会覆盖之前的数据 ls >>1.txt 把命令返回结果输出到文件中,不覆盖之前的数据 ...

最新文章

  1. Spring 进阶二
  2. CentOS6.5编译安装apache2.4--有软件包!
  3. 利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件
  4. Teams Meeting App的 task 弹出框
  5. 函数重载、引用再探、内联函数
  6. 设计模式- 创建型模式, 建造者模式(2)
  7. 业务展示类网站高保真原型模板库、企业品牌官网、公司业务介绍、产品展示及营销、首页模板、内页模板、单页模板、整站模板、导航、轮播、横幅、列表、客户、案例、页脚、动态面板、母版、页面事件、窗口函数
  8. webview 禁用横竖屏切换_X5内核WebView横屏切换崩溃
  9. css两张图片怎么合在一起_PhotoShop怎么把两张图片合成一张?怎么用ps把两张图片合成一张?...
  10. 考研408-计算机组成原理-存储系统
  11. selenium实现自动登录B站
  12. [人工智能-深度学习-55]:循环神经网络 - 样本数据的几种编码方式:OneHot、ASCII、词向量word2vec
  13. swing(二十一)
  14. 科学计算机隐藏功能,经常用手机计算器的抓紧看看,原来还隐藏着3个功能,涨知识了...
  15. Hook技术之消息拦截(Windows Hook )
  16. 杭中国高铁“走出去”的意义
  17. Android:Umeng(友盟)消息推送(二)
  18. element控制input输入为数字
  19. spicy.parser
  20. JavaScript星星动画心形js特效

热门文章

  1. Windows7防火墙服务无法启用怎么办
  2. 从Qcheck 1.3 不能在不同操作系统上运行问题(chro124、chro342)说开来------
  3. win7,windowsXP安装mysql-5.1.49-win32,中文版、英文版,通吃
  4. Sql年月日计算方法
  5. Hexo Next 博客添加相册瀑布流
  6. 汇编程序设计与计算机体系结构软件工程师教程笔记:函数、字符串、浮点运算
  7. 对称加密算法AES之GCM模式简介及在OpenSSL中使用举例
  8. 有效的rtsp流媒体测试地址汇总
  9. 【C】printf warning: unknown conversion type character ‘l‘ in format [-Wformat=]
  10. 微型计算机又称个人计算机 分为,计算机基础知识试题及答案