Восстановить структуру папок, используя хэши md5

В моей системе это выглядит так:

Приложения(Меню «Пуск»)-> Настройки -> Клавиатура -> Ярлыки приложенийвкладка-> Добавить кнопку

А в ввод команды мы могли бы поставить это:

xfce4-screenshooter -fs '/home/user_name/Images'

команда.

Другие параметры см. в разделеxfce4-screenshooterчерез командную строку .

1
27.11.2020, 22:51
2 ответа

С bashЯ бы:

  1. Перебрать файл с помощью readи сохранить каждый хэш в ассоциативный массив
  2. Сохранение всех имен локальных файлов во временный файл (Использование findдолжно подойти ).
  3. Перебрать список локальных файлов, запущенных md5sumна каждом, проверяя, находится ли хэш в массиве в качестве ключа, и если да, то переименовывая его в целевое имя.
1
18.03.2021, 22:46

В итоге я использовал joinдля быстрого и грязного решения, предполагая, что имена файлов, используемые для восстановления папок, не содержат пробелов:

md5sum * | sort -u -k 1,1 | join -../restore.s | \
  while read h r t; do \
    mkdir -p $(dirname "tmp/$t"); cp "$r" "tmp/$t"; \
  done

Входные данные для объединения нуждались в сортировке, и я удалил идентичные файлы. Результатом соединения являются строки hash source target, используемые для восстановления файлов.

0
18.03.2021, 22:46

Теги

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