linux - Rsync 比较两个目录中的文件。仅列出有差异的文件

标签 linux ubuntu rsync

我正在尝试使用 rsync 比较两个目录中的文件。

我使用的命令是这样实现的:

rsync -avcn folder1/* folder2/

问题是结果还列出了所有目录,而我想在有差异的文件列表上显示。

我怎样才能做到这一点。

最佳答案

-a (--archive) 标志在这种情况下做的太多了;它还希望使目录元数据(权限、时间戳、用户、组)相等。使用 -r 代替;然后 rsync 将只列出那些存在于 folder1 但不在 folder2 中的目录。

如果您确实需要某些-a 行为,或者您想要忽略目录,即使它们不存在于folder2 中,您可以通过以下方式过滤输出grep 因为 rsync 的输出中的目录名称方便地以斜杠结尾:

rsync -avcn folder1/* folder2/ | grep -v '/$'

关于linux - Rsync 比较两个目录中的文件。仅列出有差异的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619033/

相关文章:

php - PHP memory_limit是否为PHP预分配内存

ubuntu - 将安装脚本从 Redhat 更改为 Ubuntu

Java Runtime.getRuntime().exec(cmd) 命令包含单引号

windows - cwrsync 同步 : did not see server greeting

linux - 在 linux 终端上选择特定列

php - 防止从服务器发送到自身的邮件被内部处理

linux - 带有地址清理器的 Linux 和 Mac 的 Makefile

linux - 比较文件中的值

node.js - 如何在 ubuntu 上为 CVE-2014-0224 修补 node.js 服务器?

linux - 我正在尝试将整个目录从一台 Linux 机器复制到另一台机器,包括权限