diff快速显示2个目录下所有不同文件名称而非内容

快速显示2个目录dir1,dir2下所有不同文件名称

diff -ruNaq dir1 dir2

diff -ruaq dir1 dir2(如果dir1和dir2中彼此都没有对方文件,那么将以only的形式human提示)

因为需要往terminal输出log,所以感觉会比bcompare慢,实际上用如下方法你就能知道diff有多快了

(当然diff -rNq和diff -rq效果和-ruNaq一样)

diff -ruNaq dir1 dir2 > /dev/null

生成patch

diff -ruNa dir1 dir2 > test.patch

-----------------------------------------------------------------------------------

例如:

# ls test -R

test:

a  b  c


test/a:

aa


test/b:

bb


test/c:


# ls test1 -R

test1:

a  b


test1/a:

aa


test1/b:

bb


# diff  test test1   

Common subdirectories: test/a and test1/a

Common subdirectories: test/b and test1/b

Only in test: c


# diff -r test test1 

diff -r test/b/bb test1/b/bb

0a1

> 1

Only in test: c


# diff -rq test test1

Files test/b/bb and test1/b/bb differ

Only in test: c


# diff -rqN test test1

Files test/b/bb and test1/b/bb differ


# diff -rqNa test test1

Files test/b/bb and test1/b/bb differ


# diff -rqNau test test1

Files test/b/bb and test1/b/bb differ

-----------------------------------------------------------------------------------

-a 把所有文件看出文本形式,并对它们进行逐行比较,即使它们看起来不是文件文件

-b 忽略空格

-B 忽略空白行

-i 忽略大小写

--brief 只报告两个文件是否相同,不报告详细的不同信息

-c 使用上下文输出格式

-d 改变算法,使得diff命令可能找到一个更小的文件差异

-e 产生一个将文件1变成文件2的“ed script”

-r 比较目录时递归比较子目录

-b 支持Unix的兼容性

-n RCS格式

-N 在目录比较中,如果一个文件只出现在第一个目录中,那么认为它在另外一个目录中也出现,并且为空

-p 显示不同的信息位于哪个C函数中

-P 在目录比较中,如果一个文件只出现在第二个目录中,那么认定它在另外一个目录中也出现,并且为空

--paginate 通过pr输出,并且标记页数

-q 不报告差异,只说明两者内容是否有差异

-s 当比较的两个文件相同时报告信息

-t 输出时,[tab]键按照空格键来输出

-T 输出时,[tab]键输出,而非空格键

-u 使用统一的输出格式

-y 输出使用对比格式


选择参数


-D<宏名字> 引入if-then-else输出格式来预处理宏名称

-s<文件> 比较文件时,从指定的文件进行比较

--from-file<文件> 同所有的操作数比较指定的文件,可以是目录

--new-group-format=<模式> 用指定的模式,按照 if-then-else方式,输出第二个文件中的一组行内容

--help 显示帮助信息

--version 显示版本信息

















本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1917042 ,如需转载请自行联系原作者



上一篇:关于小程序opensetting废弃后地理位置的二次授权


下一篇:TeamBition 网盘使用感受