Re: Продолжение
Hello!
On Tuesday 09 February 2010 15:03:36 Serhiy Storchaka wrote:
> Alexey Pechnikov wrote:
> > Утилита find в дебиане майм-тип для *.fb2 отдает как application/xml,
> > так что или верить расширению, или пользоваться универсальным парсером для
> > xml. В обоих случаях есть свои плюсы и минусы.
>
> The environment variable MAGIC can be used to set the default magic
> number file name.
>
> Универсальный парсер плох тем, что текст будет склеиваться и разбиваться на
> строки где не следует. И содержимое тегов binary будет очень мешать при
> полнотекстовом поиске.
Оно бы все так, да вот только контент файла, переданный на stdin,
можно обработать только одной утилитой:
MIME=""
if [ $# -eq 1 ]; then
MIME=`file --brief --mime-type "$1"`
fi
if [ $# -eq 0 ]; then
MIME=`file --brief --mime-type -`
fi
if [ "$MIME" = "application/xml" ];then
FLAG=""
if [ $# -eq 1 ]; then
FLAG=`grep '<FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">' "$1" |wc -l`
fi
if [ $FLAG -eq 1 ]; then
echo "application/x-fictionbook+xml"
exit 0
fi
fi
echo "$MIME"
Или заменять dash на тикль везде, а это приведет к тому, что придется вместо вызовов отдельных утилит инклюдить файлы
с функциями (запуск интерпретатора тикля не быстрый), или в архиве нам "честный" mime-тип не распознать.
Best regards, Alexey Pechnikov.
http://pechnikov.tel/
Reply to: