Добавление тегов в файлы (PDF) и обработка из командной строки или скрипт

tmux устанавливает переменную $ TMUX так, чтобы она указывала на сокет, поэтому вы можете сделать что-то вроде

if [ -z "$TMUX" ]
then
  ....
fi

. Материал внутри теста будет запущен только в том случае, если переменная не установлена, т.е. вы еще не находитесь в сеансе tmux .

3
03.08.2017, 00:46
2 ответа

Это не совсем то, что вы думаете, но если вас интересует работа с файлами, поддерживающими метаданные, exiftoolможет просматривать и изменять метаданные в большом количестве типов файлов, включая PDF-файлы. Полный список см. в man exiftool.

Я неоднократно использовал его для создания и изменения метаданных в PDF-файлах. Например:

  exiftool -Title="My PDF" \
           -Subject="stuff" \
           -Description="my pdf about various things" \
           -Keywords="miscellanea, nonsense" \
           -Author="me" \
           -Creator="also me" \
           "mypdf.pdf"

Теперь это становится более тесно связанным с вашей идеей. Поле Keywordsметаданных (или любое другое поле для тех форматов файлов, которые поддерживают создание произвольных полей -многие делают )для хранения ваших тегов в самих файлах,позволяя скрипту автоматически поддерживать ферму символических ссылок тегов.

В качестве альтернативы сценарий может поддерживать базу данных (неструктурированный -текст, например CSV или аналогичный, или базу данных SQL, например sqlite), содержащую список имен файлов (с полным абсолютным путем ), метаданные файловой системы. (временные метки, размер, разрешение и т. д. )и их теги. Другие сценарии могут быть написаны для поиска в этой базе данных и возврата результата (s )в удобном формате.

Например:

vi $(search-tagged-files --date "last sunday" --keywords thesis)

или

localc $(search-tagged-files --keywords budget,2017 \
         --mimetype=application/vnd.oasis.opendocument.spreadsheet)

ПРИМЕЧАНИЕ. :Единственным самым большим недостатком чего-либо подобного является огромный объем работы, который потребуется для поддержки тегов для каждого из файлов. Кое-что из этого можно было бы автоматизировать, но многое было бы утомительно, -ручная работа отнимала бы много времени. И это игнорирует время проектирования и разработки, чтобы придумать систему, чтобы сделать это.

Ни одна из программ, используемых для создания или редактирования файлов, не будет каким-либо образом интегрирована с такой системой управления файлами, как и стандартные инструменты, такие как mv, cpили rm.

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

Затраченная работа, вероятно, является основной причиной того, что большинство людей, у которых были подобные идеи, в конечном итоге подумали: «Вместо этого я просто буду использовать хорошо -организованное дерево каталогов». Даже работа, необходимая для написания кода для управления документами, огромна, а работа по управлению метаданными для каждого файла еще больше -, как правило, это стоит усилий только для очень крупных организаций, имеющих не менее десятков тысяч документов. следить за.

Это не новая идея,было проведено много исследований и разработок подобных идей. Одно из ее названий — Система управления документами .

5
27.01.2020, 21:13

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

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

TagSpaces делает это следующим образом:Filename [tag1 tag2 tag3].ext

Я делаю так:Filename #tag1 #tag2 #tag3.ext

Я обнаружил, что это очень эффективно, особенно в сочетании с такой программой, как catfish(, которая очень похожа на Everythingдля Windows ), привязанную к горячей клавише. Поскольку каждый тег начинается с #, если я ищу тег #bills, мне не нужно беспокоиться о возврате файлов со словом «счета» в имени, которые не имеют этого тега.

Я провел много часов, изучая различные методы организации моих файлов с помощью тегов или тегов -, как в системах, от использования таких сервисов, как Evernote, до сложных иерархий папок. Это самый простой и удобный метод, который мне удалось найти, и он не зависит от ОС -.

2
27.01.2020, 21:13

Теги

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