Rsync 比较两个目录中的文件。仅列出有差异的文件
Rsync compare files in two directories. list only files with difference
我正在尝试使用 rsync 比较两个目录中的文件。
我使用的命令是这样的:
rsync -avcn folder1/* folder2/
问题是结果还列出了所有目录,而我想在文件列表上显示有差异。
我怎样才能做到这一点。
-a
(--archive
) 标志在这种情况下做的太多了;它还希望使目录元数据(权限、时间戳、用户、组)相等。使用 -r
代替;然后 rsync 将只列出存在于 folder1
但不存在于 folder2
.
中的那些目录
如果您确实需要某些 -a
行为,或者您想要忽略目录,即使它们不存在于 folder2
中,您可以通过 grep
过滤输出因为 rsync
输出中的目录名称方便地以斜杠结尾:
rsync -avcn folder1/* folder2/ | grep -v '/$'
我正在尝试使用 rsync 比较两个目录中的文件。
我使用的命令是这样的:
rsync -avcn folder1/* folder2/
问题是结果还列出了所有目录,而我想在文件列表上显示有差异。
我怎样才能做到这一点。
-a
(--archive
) 标志在这种情况下做的太多了;它还希望使目录元数据(权限、时间戳、用户、组)相等。使用 -r
代替;然后 rsync 将只列出存在于 folder1
但不存在于 folder2
.
如果您确实需要某些 -a
行为,或者您想要忽略目录,即使它们不存在于 folder2
中,您可以通过 grep
过滤输出因为 rsync
输出中的目录名称方便地以斜杠结尾:
rsync -avcn folder1/* folder2/ | grep -v '/$'