Откуда вы знаете, что такое дубликат и что такое копия?Это был бы мой вопрос.
Было бы легко, если бы у всех дубликатов было Copy
в имени, но ваш первый пример, один из первых дубликатов называется New Text Document.txt
, а оригинал находится в.svn
каталог, который никогда не нужно было просматривать.
Похоже, у вас есть хэш MD5 в первом столбце, что означает, что вы можете отсортировать по нему, а затем использовать awk
для циклического просмотра выходных данных ипечатать пустую строку всякий раз, когда изменяется хэш.Это сгруппировало бы ваши файлы.
Оригинал против копии будет намного сложнее.Вам придется выработать хорошие критерии для этого.Вы можете выбрать самую раннюю дату изменения (mdate
).Вы могли бы сортировать по этому тоже.Когда вы разбиваете хеш, вы можете просто предположить, что первый файл в списке (потому что он имеет самую раннюю дату) является оригиналом.
Или вы можете просто предположить, что файлы со словом Copy
в названии файла находятся копии.И тогда, это может не иметь большого значения.Вы хотите, чтобы программа просто идентифицировала дубликаты или удалила их?Если программа просто идентифицирует дубликаты, нет необходимости выяснять, какие из них являются оригиналами, а какие - дубликатами.Вероятно, вы можете сделать это лучше, чем любой алгоритм.
Кстати, какие именно три столбца.Я предполагаю, что первым является has, а последним - имя файла, но какое среднее?