Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux diffstat 命令。

1、命令简介

diffstat:根据diff的比较结果,显示统计数字。

2、命令用法

diffstat [options] [file-specifications]

3、命令描述

diffstat命令用于读取diff的输出结果,然后统计各文件的插入,删除,修改等差异数据 。

4、命令选项

选项

描述

-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列,

以防文件名过大。

5、使用示例

1)进行比较结果的统计显示

diff file1 file2 | diffstat  

2)每一行输出前加上“#”

diff urls.txt 1.txt | diffstat -c
# unknown |    2 +-
# 1 file changed, 1 insertion(+), 1 deletion(-)

3)指定显示的格式

diff urls.txt 1.txt | diffstat -f 2
 unknown |    2 +-....................................................................................
 1 file changed, 1 insertion(+), 1 deletion(-)

推荐文档