Hy,Баш удаления дубликатов файлов на основе номера последовательности в конце
Я пытаюсь удалить некоторые дубликаты файлов в папке (приблиз. 50000 файлов), которые имеют такое же имя, но единственное, что отличающуюся является порядковый номер в конце:
aaaaaaaaaa.ext.84837384
aaaaaaaaaa.ext.44549388
aaaaaaaaaa.ext.22134455
bbbbbbbbbb.ext.11244355
bbbbbbbbbb.ext.88392456
Я хочу удалить дубликаты файлов на основе минимального числа последовательностей (.22134455 быть справедливы для aaaaaaaaaa.ext и 0,11244355 быть справедливы для bbbbbbbbbbb)
Я упомянул, что у меня много файлов в папке ~ 50.000 fi les и сортировка и фильтрация на основе размера и md5 будут восприниматься как навсегда.
Я пробовал find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate
, но берет навсегда.
Большое спасибо
Почему вы фильтруете базу данных по размеру? –
Итак, вы запускаете 'find' один раз для каждого файла и задаетесь вопросом, почему это занимает много времени? Прекратите выполнение 'find' внутри' xargs' !! –