LINUX.ORG.RU

Как сделать на баше: все по маске, кроме...


1

1

Пишу простенький скрипт, который будет на основе mime-типа файла сбрасывать его в определенный каталог. Почтив все mime-типы формата *x-* - это архивы, но бывают и исключения, типа iso-образов: x-cd-image. Имея дело с «case», как выделить этот случай?

Вычленить из переменной третий и четвёртый символы и сравнить с образцом.

fragmentor ()

как выделить этот случай

Расположить его раньше твоих регулярок. Ещё можно заюзать file/

ziemin ★★ ()

Не очень понятно, зачем тебе case. Я бы просто тупо сделал ls | grep x- | grep -v x-cd и что там дальше нужно.

anonymous ()

file же! У него есть параметр --mime-type, парсишь его awk, perl, cut,sed, и делаешь что-хочешь

возможно что-то вроде этого:

find /your/path/ -type f | while read file;do
MIME=$(file --mime-type "${file}" | awk '{ print $(NF) }'
case $MIME do
  mimetype1)
    echo "This 1 type"
  ;;
  mimetype2)
    echo "This 2 type"
  ;;
esac

done

leader32 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.