Linux基础命令diffstat的用法
本篇内容介绍了“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指定直方图的格式:,为了简洁,它只显示值和一个直方图代码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提供直方图中显示的数据的可选舍入,而不是通过错误调整截断数据:,是默认的。不执行舍入操作,但累积错误将添加到下列中。1,舍入数据。2,对数据进行舍入并调整直方图,以确保在有任何差异的情况下显示某些内容,即使这些差异通常被四舍五入为零。-S source这类似于-D选项,但指定了一个可以找到原始文件(在应用差异之前)的位置。-t重写直方图,生成逗号分隔值的输出。-u禁止对报表中的文件名进行排序。-v显示进度,例如,如果输出重定向到文件,则将进度消息写入标准错误-V显示版本号,并且退出-w number指定直方图的最大宽度。直方图将永远不会小于10列,以防文件名过大。
3
、环境变量
Diffstat运行在可移植的UNIX环境中。您可以通过设置与输入文件名称相对应的环境变量来覆盖用于解压缩输入文件的程序的编译路径。然而,Diffstat假设生成的程序使用相同的命令行选项,例如“-c”来解压缩到标准输出。DIFFSTAT_BZCAT_PATHDIFFSTAT_BZIP2_PATHDIFFSTAT_COMP开发云主机域名RESS_PATHDIFFSTAT_GZIP_PATHDIFFSTAT_LZCAT_PATHDIFFSTAT_PCAT_PATHDIFFSTAT_UNCOMPRESS_PATHDIFFSTAT_ZCAT_PATH
4
、实例
统计差异信息
[root@localhost wj]#
diff 1.c 2.c
1c1
---
> add
3,4c3,4
---
> 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 |63 +3 -0 !
1 file changed, 3 insertions(+), 3 deletions(-)
[root@localhost wj]#
“Linux基础命令diffstat的用法”的内容就介绍到这里了,感谢大家的阅读。如果想了开发云主机域名解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Linux基础命令diffstat的用法》来自互联网同行内容,若有侵权,请联系我们删除!