Я хочу создать список файлов, которые имеют:
- То же имя
- Разное содержание
в каталоге (включая все дочерние каталоги и контент).
Как сделать? Bash, Perl, все в порядке.
Таким образом, два файла с одинаковым именем и одинаковым содержимым не должны отображаться.
Ответы:
Обновление: исправлена опечатка в скрипте: изменено
print $NF
наprint $3
; также привел в порядок вещи и добавил несколько комментариев.Предполагая, что имена файлов не содержат
\n
, ниже выводится отсортированный список, который разбивается (как в: разрывы управления разделами ) на уникальныеfile name
, уникальныеmd5sum
, и показывает соответствующую группу путей к файлам.Вывод, показывающий только имена файлов с несколькими
md5
sВывод, показывающий все файлы с одинаковым именем.
источник
Вот скрипт Perl. Запустите его в каталоге в верхней части дерева, которое вы хотите найти. Сценарий зависит от
find
иmd5
, но последний может быть замененsha1
,sum
или любой другой файл программы хэширования , который принимает входные данные на стандартный ввод и выводит хэш стандартный вывод.источник
finddup этот инструмент также может помочь вам в перечислении файлов с одинаковыми именами или содержанием.
источник
Для тех , кто хочет видеть только список имен файлов, вот соответствующая часть Peter.O «s ответ :
}»
Мне не нужны md5sums, потому что я использую
fslint-gui
перед сценарием, чтобы удалить все дубликаты.источник