Как удалить дубликаты файлов с помощью fdupes?

Когда я запускаю fdupes, он находит более 30 000 дубликатов файлов. Мне нужно сохранить один файл и удалить все остальные дубликаты (потому что некоторые из них являются системными файлами). Пожалуйста, дайте мне команду или скрипт, чтобы сделать это, не нажимая «1 или 2 или все» для каждой группы дубликатов файлов.

13
задан 10 July 2018 в 09:45

4 ответа

Можно сделать это, если Вы хотите выполнить это тихо (я только что использовал его для очистки 150 ГБ простофиль, работающих rackspace блочная система хранения.. ВЈkerching!!)

fdupes -rdN dir/

r - recursive
d - preserver first file, delete other dupes
N - run silently (no prompt)
21
ответ дан 10 July 2018 в 09:45

fdupes имеет богатый CLI:

fdupes -r ./stuff > dupes.txt

Затем удаление дубликатов было так же легко как проверка dupes.txt и удаление незаконных каталогов. fdupes также может предложить Вам удалять дубликаты, как Вы продвигаетесь.

fdupes -r /home/user > /home/user/duplicate.txt

Вывод команды входит duplicate.txt.

fdupes сравнит размер и хеш MD5 файлов для нахождения дубликатов.

Проверка fdupes страница справочника для подробной информации об использовании

9
ответ дан 10 July 2018 в 09:45

Я использовал бы этот более безопасный путь:

Создают сценарий и перемещают дублированные файлы в новую папку. Если Вы переместитесь в папку вне исходной папки, то fdupes не сообщит о дублированных файлах относительно второго сканирования, и будет более безопасно удалить их.

#!/bin/bash

# Save default separator definitions
oIFS=$IFS
# define new line as a separator, filenames can have spaces
IFS=\n';

# For each file (f) listed as duplicated by fdupes, recursively
  for f in `fdupes -r -f .`
  do
    # Log the files I'm moving
    echo "Moving $f to folder Duplicates" >> ~/log.txt
    # Move the duplicated file, keeping the original in the original folder
    mv $f Duplicates/
  done

# restore default separator definitions
IFS=$oIFS
1
ответ дан 10 July 2018 в 09:45

Я использовал fslint и DupeGuru в течение достаточно долгого времени.

  • FSlint поддерживает выбор подстановочным знаком и другими методами очистки
  • DupeGuru поддерживает regex

Оба могут обработать> 10 000 файлов/папок

1
ответ дан 23 November 2019 в 03:12

Другие вопросы по тегам:

Похожие вопросы: