3

在 OSX 或 Linux 中,如何轻松比较路径 Foo 和路径 Bar 并获取它们之间不同的所有文件和文件夹的列表?

获得两条路径之间的总差异数 KB 也很方便。

我的用例是我想验证路径 A 是否完全复制到路径 B,并且我确信由于底层 FS 类型的不同功能会存在非常小的差异,所以我需要一个工具/脚本做的不仅仅是告诉我“是”或“不是”。

4

2 回答 2

2

由于您要将文件从文件夹 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

当然,您必须小心子目录。

于 2013-09-19T19:50:53.670 回答
0

选项1

你可以简单地使用diff

diff -qr dir1 dir2

您还可以使用--exclude和许多其他选项。

选项 2

您可以使用其他 GUI 工具,例如Meld(或者控制台上的 Midnight-Commander )

资料来源:我在dadduckgo中找到的第 1 个 2 个答案

有关的:

于 2021-10-12T23:20:49.723 回答