Уставшие от иерархической природы существующих файловых систем программисты взяли инициативу в свои руки и выпустили утилиту TMSU. Она никак не «ломает» существующую организацию файлов на диске, но даёт возможность добавлять к ним теги. Иногда это очень полезно. Например, для сортировки музыкальных коллекций.

TMSU — простая утилита командной строки для добавления краткой характеристики к файлам в виртуальной файловой системе. После этого можно сортировать документы по тегам в любой программе.

$ tmsu tag summer.mp3 music big-jazz mp3
tmsu: New tag 'music'
tmsu: New tag 'big-jazz'
tmsu: New tag 'mp3'

TMSU поддерживает собственную базу данных, которая расширяет возможности существующих файловых систем. Например, можно одной командой копировать файлы с определённым тегом, в какой бы папке они ни находились.

Каждому файлу присваивается один или несколько тегов. Например, следующая команда добавляет теги music и mp3 ко всем файлам с расширением .mp3 в текущей папке.

$ tmsu tag --tags "music mp3" *.mp3

С опечатками борется информационное сообщение New, которое всплывает в случае, если указан новый тег.

$ tmsu tag spring.mp3 music mp3 folk
$ tmsu tag winter.mp3 umsic mp3
tmsu: New tag 'umsic'

В такой ситуации есть возможность объединить два тега в общую категорию командой merge.

$ tmsu merge umsic music

При выводе списка файлов поддерживаются логические операторы and, or, not.

$ tmsu files "(mp3 or flac) and not big-jazz"
spring.mp3
winter.mp3



7 комментариев

  1. 15.12.2014 at 22:56

    Прочитал офсайт, вдохновился, решил запилить .ebuild… а она написана на Go. Либо плясать с Go, либо использовать подготовленные бинарники. Вот же ж засада 🙂

  2. 16.12.2014 at 06:41

    Хм, интересный прием… Но чего же так поздно? Все гениальное — просто, действительно

  3. 16.12.2014 at 10:31

    и как работает? теги вешаются на уровне фс, или пишутся в бд?
    что будет, если файл перенести/скопировать программой, которая про теги не знает?

    • 16.12.2014 at 11:17

      Ну, тут ответ простой: «TMSU maintains its own database and you simply gain an additional view, which you can mount, based upon the tags you set up».

  4. 16.12.2014 at 11:36

    джва года ждал!
    а под сигвином заведется?

  5. 16.12.2014 at 14:45

    Как гениально. А я-то регулярки в шелл-скриптах писал для обработки по расширению, вместо того, чтобы теги использовать

  6. http://romanakamagician.tumblr.com/

    18.12.2014 at 01:50

    полжизни ждал… еще полжизни буду ждать под Windows

Оставить мнение