如何使用 bash 比较两个目录的内容?

如何使用 bash 比较两个目录的内容?

我有 2 个目录应该包含相同的文件和相同的目录结构。

我认为其中一个目录缺少了某些内容。

使用 bash shell 有没有办法比较我的目录并查看其中一个目录中是否存在另一个目录中的丢失文件?

谢谢

安德里亚

答案1

diff可以自行浏览目录,而不必解析lsfind或 的输出stat

diff -qr dir1 dir2 | sort

您将收到如下输出:

Only in dir2: file3

答案2

可能最简单的方法是使用以下命令替换diff

diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)

这将显示文件列表中的差异,如果你真的想比较文件是否真的不同,那么你可能更喜欢diff -brief -rb dir1 dir2

相关内容