我正在尝试使用 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/