Rsync сравнивает файлы в двух каталогах.список только файлов с разницей - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь сравнить файлы в двух каталогах, используя rsync.

Я использую команду для достижения этой цели:

rsync -avcn folder1/* folder2/

Проблема в том, что результат также перечисляет всекаталоги, тогда как я хочу отобразить в списке файлов с разницей.

Как мне этого добиться.

1 Ответ

0 голосов
/ 31 мая 2018

Флаг -a (--archive) в этом случае делает слишком много;он также хочет сделать метаданные каталога (права доступа, метки времени, пользователя, группы) равными.Вместо этого используйте -r;тогда rsync будет перечислять только те каталоги, которые существуют в folder1, но не в folder2.

Если вам действительно нужно некоторое поведение -a, или вы хотите игнорировать каталоги, даже если они неt * существует в folder2, вы можете фильтровать вывод через grep, потому что имена каталогов в выводе rsync обычно заканчиваются косой чертой:

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