Назад | Перейти на главную страницу

Как найти повторяющиеся файлы в справочной структуре каталогов в Linux

Для Linux есть пара поиска дубликатов файлов. перечисленные например Вот. Я уже пробовал fdupes и fslint. Однако из того, что я видел, они найдут все дубликаты выбранных структур каталогов / путей поиска и, таким образом, также дубликаты, которые существуют только внутри одного из путей поиска (если вы выберете несколько).

Однако мне нужно / нужно искать дубликаты по ссылочному пути, где я могу определить один путь как ссылочный путь и искать внутри другого пути файлы, которые существуют в ссылочном пути, чтобы удалить их.

Мне нужно сделать это, чтобы подготовить две большие структуры каталогов, которые вышли из синхронизации, причем одна из них более актуальна, чем другая (это была бы моя ссылка). Большинство файлов должны быть дубликатами между ними, но я подозреваю, что некоторые файлы все еще находятся только на другом пути, поэтому я не хочу просто удалять их.

Возможно, есть какие-то варианты fdupes для достижения этого, которые я упустил?

Я попытался написать сценарий Python, чтобы очистить список, который выводит fdupes, но безуспешно.

rmlint может это сделать:

rmlint --types=duplicates --must-match-tagged --keep-all-tagged <path1> // <path2>

Это найдет файлы в пути 1, которые имеют дубликаты (то же содержимое данных) в пути 2. Он создаст сценарий оболочки, который при запуске удалит дубликаты по пути 1, оставив только уникальные файлы.