在 OSX 或 Linux 中,如何轻松比较路径 Foo 和路径 Bar 并获取它们之间不同的所有文件和文件夹的列表?
获得两条路径之间的总差异数 KB 也很方便。
我的用例是我想验证路径 A 是否完全复制到路径 B,并且我确信由于底层 FS 类型的不同功能会存在非常小的差异,所以我需要一个工具/脚本做的不仅仅是告诉我“是”或“不是”。
在 OSX 或 Linux 中,如何轻松比较路径 Foo 和路径 Bar 并获取它们之间不同的所有文件和文件夹的列表?
获得两条路径之间的总差异数 KB 也很方便。
我的用例是我想验证路径 A 是否完全复制到路径 B,并且我确信由于底层 FS 类型的不同功能会存在非常小的差异,所以我需要一个工具/脚本做的不仅仅是告诉我“是”或“不是”。
由于您要将文件从文件夹 A 复制到文件夹 B,因此您知道文件夹 B 可能缺少文件(不是文件夹 A),然后您可以遍历文件夹 A 中的所有文件并检查它们在文件夹 B 中的大小是否相同。就像是
#!/bin/bash
for file in `ls A`
do
# check if file exists
if [ -e B/"${file}" ]
then
fileSize1=`stat -c%s A/"${file}"`
fileSize2=`stat -c%s B/"${file}"`
if [ ${fileSize1} -ne ${fileSize2} ]
then
echo "The files ${file} have not the same size."
fi
else
echo "The file ${file} does not exist."
fi
done
当然,您必须小心子目录。
选项1
你可以简单地使用diff
diff -qr dir1 dir2
您还可以使用--exclude
和许多其他选项。
选项 2
您可以使用其他 GUI 工具,例如Meld(或者控制台上的 Midnight-Commander )
资料来源:我在dadduckgo中找到的第 1 个 2 个答案
有关的: