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