比较两个内容包含很多文件的文件夹

有两个文件夹,大约有150个 java 属性文件。

在 shell 脚本中,如何比较两个文件夹,以查看其中任何一个文件夹中是否有任何新的属性文件,以及属性文件之间的区别。

The output should be in a report format.

127625 次浏览

你能用 dircmp吗?

diff -r将执行此操作,告诉您是否添加或删除了任何文件,以及修改后的文件中发生了什么变化。

要获取新文件/丢失文件的摘要,以及哪些文件不同:

diff -arq folder1 folder2

a将所有文件视为文本,r递归搜索子目录,q报告“简要”,只有当文件不同时

Unix 中的 Diff 命令用于查找文件(所有类型)之间的差异。因为目录也是一种文件类型,所以可以通过使用 diff 命令轻松地找出两个目录之间的差异。如需更多选项,请在 Unix 机顶盒上使用 man diff

 -b              Ignores trailing blanks  (spaces  and  tabs)
and   treats  other  strings  of  blanks  as
equivalent.


-i              Ignores the case of  letters.  For  example,
`A' will compare equal to `a'.
-t              Expands <TAB> characters  in  output  lines.
Normal or -c output adds character(s) to the
front of each line that may adversely affect
the indentation of the original source lines
and  make  the  output  lines  difficult  to
interpret.  This  option  will  preserve the
original source's indentation.


-w              Ignores all blanks (<SPACE> and <TAB>  char-
acters)  and  treats  all  other  strings of
blanks   as   equivalent.    For    example,
`if ( a == b )'   will   compare   equal  to
`if(a==b)'.

and there are many more.

我用过

diff -rqyl folder1 folder2 --exclude=node_modules

在我的 Nodejs 应用程序里。