Синхронизация файлов только на основе наличия уникальных имен файлов (Mac OS/Unix)
Я ищу способ синхронизировать две папки/тома только на основе того, существует ли имя файла в папке A, но не в папке B. Я хочу, чтобы синхронизация полностью игнорировала путь и даты изменения. Любые новые уникальные файлы можно переместить в определенную папку.
В качестве примера предположим, что папка A содержит сложную структуру каталогов с несколькими папками и общим количеством 5000 файлов. Таким образом, может быть несколько десятков папок, иногда с папками внутри, и файлы, разбросанные по этим папкам случайным образом. Теперь папка B содержит 4500 файлов в другой структуре папок — пути к файлам в папке A не имеют ничего общего с путями в папке B.
Итак, я хочу просканировать все 5000 имен файлов в папке A и ее подпапках и сравнить их с именами файлов в папке B и ее подпапках. Если где-то в папке B есть подходящее имя, файл игнорируется. Если имя файла существует где-то в папке A, но отсутствует где-либо в папке B, то файл копируется в новую папку внутри папки B — назовем ее «NewFiles».
Поэтому, когда процесс завершится, я буду знать, что папка B содержит все те же имена файлов, что и папка A. Она может содержать больше файлов, чем папка A, но любое имя файла в папке A также будет существовать в папке B.
Здесь важно то, что синхронизация полностью игнорирует путь и дату модификации. Все, что имеет значение, — это само имя файла, независимо от пути.
В конце концов, это было бы наиболее полезно, если бы я мог отсканировать, скажем, три тома и сравнить имена файлов с тем, что находится в двух разных томах. Таким образом, «папка A» станет группой дисков, а «папка B» станет отдельной группой дисков. Но пока мы можем ограничиться двумя папками, чтобы упростить вопрос.
Есть предположения?
Спасибо!