Когда вы используете программу для восстановления данных, такую как Recuva, она может "восстанавливать" множество файлов, многие из которых просто невозможно использовать со случайными данными в них, но которые каким-то образом имеют правильные имена файлов. Есть ли способ автоматически обнаружить те файлы или файлы, которые имеют значимые данные, но нуждаются в ремонте, и удалить остальные файлы, которые являются ненужными?

1 ответ1

2

Под linux file утилиты, возможно, стоит изучить. Он "проверяет" каждый файл, который вы передаете ему, используя три различных вида тестов, вместо того, чтобы полагаться на расширение имени файла. (См. man file для объяснения различных тестов).

Вот подход для тестирования каждого файла в каталоге и копирования его в новую папку, если это изображение JPEG.

#!/bin/bash

mkdir useful

for cfile in *; do
    fileres=$(file -b --mime-type "${cfile}")
    if [[ "${fileres}" == "image/jpeg" ]]; then
        cp "${cfile}" "useful/"
    fi
done

Запустите этот скрипт в каталоге со всеми вашими восстановленными файлами, и он скопирует только файлы JPEG в useful каталог. Если вы ищете другие типы файлов, просто замените image/jpeg в моем скрипте на mime-тип интересующих вас файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .