desert_ranger Asked: 2024-03-16 03:09:58 +0800 CST2024-03-16 03:09:58 +0800 CST 2024-03-16 03:09:58 +0800 CST 在比较文件夹的不同版本时,如何防止“diff -rq”显示新创建的文件? 772 我正在检查两个文件夹(和)diff -rq之间的差异。我不想知道文件夹是否有任何新文件,因为这是预期的。我如何确保这些信息不会出现?ABA diff 1 个回答 Voted Best Answer larsks 2024-03-16T09:35:54+08:002024-03-16T09:35:54+08:00 现在我在实际的键盘上扩展我的评论: 做你想做的事情的唯一方法是单独比较文件。我们可以结合find起来xargs做到这一点,如下所示: (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH 这会生成 B 中相对于顶级目录的所有文件的列表,并使用 xargs 运行一系列diff -q命令,将 B 中的文件与 A 中的相同路径进行比较。 当目录具有相同的内容时,它不会产生输出,返回代码为0: $ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH $ echo $? 0 当存在差异时,diff -q向控制台打印一条消息,返回码为123: $ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH Files A/./dir2/dir3/file1 and B/./dir2/dir3/file1 differ $ echo $? 123
现在我在实际的键盘上扩展我的评论:
做你想做的事情的唯一方法是单独比较文件。我们可以结合
find
起来xargs
做到这一点,如下所示:这会生成 B 中相对于顶级目录的所有文件的列表,并使用 xargs 运行一系列
diff -q
命令,将 B 中的文件与 A 中的相同路径进行比较。当目录具有相同的内容时,它不会产生输出,返回代码为
0
:当存在差异时,
diff -q
向控制台打印一条消息,返回码为123
: