Linux diffstat命令根据diff的比较结果,显示统计数字。
diffstat读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量。
语法
diff [-wV][-n <文件名长度>][-p <文件名长度>]
参数:
- -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
- -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
- -w 指定输出时栏位的宽度。
- -V 显示版本信息。
实例
用户也可以直接使用"|"将diff指令所输出的结果直接送给diffstat指令进行统计结果的显示。
使用该指令时,若所比较的文件或者子目录不在当前目录下,则应该使用其完整路径。
将目录"test1"和"test2"下的同名文件"testf.txt"使用diff指令进行比较。然后使用diffstat指令对结果进行统计显示,输入如下命令:
$ diff test1 test2 | diffstat #进行比较结果的统计显示
注意:使用这条命令可以非常方便地实现统计显示的功能。
对于查看文件中的内容,用户可以通过指令"cat"进行查看即可,具体操作如下:
[root@VM-26-188-centos test]# cat log2019.log
123
abc
a1a2a3
[root@VM-26-188-centos test]#
[root@VM-26-188-centos test]# cat log2020.log
abc
bdc
aaaaaaa
bbbbbbb
从上面的文件内容显示,可以看到两个文件内容的差别。现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下:
[root@VM-26-188-centos test]# diff log2019.log log2020.log | diffstat
-bash: diffstat: command not found
如果提示diffstat未安装,就安装diffstat:
[root@VM-26-188-centos test]# yum install diffstat
Loaded plugins: fastestmirror, langpacks
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/7): epel/7/x86_64/group_gz | 95 kB 00:00:00
...
Installed:
diffstat.x86_64 0:1.57-4.el7
Complete!
安装成功,再次执行:
[root@VM-26-188-centos test]# diff log2019.log log2020.log | diffstat
unknown | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)