如何在 Unix 中比较不同文件夹中的文件?

如何在 Unix 中比较不同文件夹中的文件?

以下是目录结构

 Folder1
   subFolder1
     File1.txt
     File2.txt
   subFolder2
     File3.txt
   subFolder3

 Folder2 
   subFolder1
     File1.txt
     File2.txt
   subFolder2
     File3.txt
     File4.txt
   subFolder3
     File5.txt

我想要将Folder1中每个文件的内容与Folder2中对应的文件进行比较。

即我想检查 Folder1/subFolder1/File1.txt 的内容与 Folder2/subFolder1/File1.txt 的内容

我使用了 unix 命令

     diff -b  Folder1/subFolder1/File1.txt   Folder2/subFolder1/File1.txt

这有效!但我想对子文件夹内的每个文件递归执行此操作。

请提供一些指点...

答案1

如果不带任何选项,diff在两个目录中运行该命令将告诉您哪些文件只存在于一个目录中而不存在于另一个目录中,哪些是公共文件。对两个目录中的公共文件进行差异分析,以查看文件内容是否不同以及如何不同。

要执行子目录,您需要传递-r选项来执行递归搜索。

因此,只需运行以下命令即可获得所需的结果:

diff -br /path/to/Folder1 /path/to/Folder2

相关内容