Расширения файлов автофикса на основе содержимого

237
Maciej Swic

Есть ли приложение / скрипт, который будет смотреть на содержимое файла и пытаться угадать правильное расширение файла? У меня есть куча файлов, восстановленных из резервной копии, и это смесь изображений, видео и документов. Все имена файлов случайные и не имеют расширений.

Неважно, для какой платформы приложение / скрипт.

Я знаю, что есть сайты, которые будут угадывать формат файла, если вы загрузите его, но у меня есть сотни файлов, поэтому мне нужен пакетный режим.

1

1 ответ на вопрос

2
mtak

In Linux/Unix there is the file command. It will look at the data and then make a guess at which kind of file it is. If there is a limited number of different files, you could write a wrapper script which appends the extension based on the file contents. Quick example to get the idea accross:

#!/bin/bash filename=$1 filedata=`file $filename` if [[ $filedata =~ /gzip/ ]]; mv $filename $.gz exit fi if [[ $filedata =~ /PDF document/ ]]; mv $filename $.pdf exit fi 
Это отлично, я кое-что из этого извлеку. Огромное спасибо. Maciej Swic 10 лет назад 0
Похоже, работает довольно хорошо в Mac OS. Maciej Swic 10 лет назад 0

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