Linux基础命令---diffstat

简介:
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]# 
相关文章
|
11天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
167 65
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
25 2
Linux系统之lsof命令的基本使用
|
11天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
36 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
13天前
|
监控 安全 网络协议
|
5天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
31 14
|
1天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
1天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
9 4
|
6天前
|
Linux
Linux经常使用命令汇总和总结
Linux经常使用命令汇总和总结
25 1
|
6天前
|
安全 Linux Shell
Linux | Rsync 命令:16 个实际示例(上)
Linux | Rsync 命令:16 个实际示例(上)
20 0
Linux | Rsync 命令:16 个实际示例(上)
|
9天前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
20 2