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