Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [Решено] MIME типы и значки  (Прочитано 900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
[Решено] MIME типы и значки
« : 20 Мая 2018, 18:05:56 »
Каждый файл соответствует определённому типу MIME.
Каждому типу MIME соответствует значок (иконка) из установленной темы значков.

Установив пакет libfile-mimeinfo-perl, можно смотреть из терминала MIME тип файла командой:

mimetype имя_файла
Какой командой можно получить имя файла значка, который соответствует данному MIME ?  :idiot2:
« Последнее редактирование: 20 Мая 2018, 22:11:16 от ecc83 »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6834
    • Просмотр профиля
Re: MIME типы и значки
« Ответ #1 : 20 Мая 2018, 19:47:19 »
имя файла значка = MIME.

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Re: MIME типы и значки
« Ответ #2 : 20 Мая 2018, 20:58:10 »
имя файла значка = MIME.

Имя значка - text-plain.png
MIME - text/plain

По вашему это равно?

В общем то я понимаю как найти в каталоге /usr/share/icons нужный значок.
Мне нужно это автоматизировать в скрипте.
То есть нужна строка, которая будет находить и подставлять путь с нужным значком, исходя из MIME файла.
Пробую, но пока не получается...

Такая строка:

icon=`mimetype $fileName | awk -F":" '{ print $2 }'`
имею такой результат:

/usr/share/icons/Faenza/actions/48/ text/plain.png
Нужно убрать лишний пробел и заменить слеш на тире.

Решил так:

icon=`mimetype $filePath | awk -F":" '{ print $2 }' | sed 's/\//-/' | sed s/' '//g`
« Последнее редактирование: 20 Мая 2018, 22:09:30 от ecc83 »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: [Решено] MIME типы и значки
« Ответ #3 : 20 Мая 2018, 22:28:44 »
sed -rn 's/([a-z]+)\/([a-z]+)\.([a-z]+)$/\1 \2/p'

 

Страница сгенерирована за 0.047 секунд. Запросов: 22.