Як я можу застосовувати теги в Mavericks рекурсивно?


9

Тепер, коли Mavericks видалив цю некрасиву кольорову смужку і замінив її приємною на вигляд крапкою, я хотів би більше використовувати теги.

В основному у мене є робочі файли в різних місцях, які стосуються різних проектів, і я хотів би застосувати тег до всіх файлів, що входять до певних папок. Файли в майбутньому можуть переміщуватися в нові папки (поза вихідною папкою), тому я хотів би застосувати тег рекурсивно до папки, щоб мені було легше, якщо він переміститься зі своєї папки.

Відповіді:


7

Ви можете використовувати xattr для запису різних метаданих, пов’язаних із "новими" тегами в Mavericks. Джон Сиракуза зробив важкий підйом вже тут .

По суті, потрібно написати два атрибути, com.apple.FinderInfo та com.apple.metadata: _kMDItemUserTags, до файлів. Найпростішим способом буде отримати файл із тегом, який ви хочете, і просто скопіювати з нього атрибути. Відкрийте термінал і перейдіть до каталогу, що містить папку, яку ви хочете регресивно позначити. Потім введіть:

touch sampleFile
open .

Це відкриє Finder, щоб ви мітили тег sampleFile, як ви хочете, щоб усі інші файли були позначені тегами. Після того, як ви позначите теги, поверніться до вікна терміналу та введіть:

find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"

find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"

Це буде рекурсивно виписувати та тегувати всі файли у вашомуDirName , а також файли в будь-яких підкаталогах. Ви можете залишити аргумент -type f , якщо ви хочете позначати теги на підкаталогах, а також на файлах.

Нарешті, ви можете змінити

find yourDirName -type f

команди до

find yourDirName -iname "*.ext"

якщо ви хочете тегувати лише певні типи / розширення файлів.


Любіть це. Я прочитав той самий огляд Ars і мені було цікаво, як я можу приєднати потрібні метадані до кожного файлу.
Стів В.

10

Є інструмент для тегів CLI, доступний через Macports / Homebrew: https://github.com/jdberry/tag

Здається, не існує варіанту рекурсії, однак, я думаю, ви могли б використовувати це у поєднанні зі стандартним UNIX-знахідкою.

наприклад, (зсередини каталогу, в якому потрібно тегнути файли)

find . -exec tag --add tagname {} \;  -print 

Поточна версія (тег v0.8.1) підтримує рекурсивне тегування з використаннямtag -e -d --add tagname path
Munkymorgy

3

Один з простих способів зробити це - використовувати пошук у центрі уваги, щоб створити список усіх файлів, які вас цікавлять. Приклад того, як це зробити:

  • У Finder перейдіть до верхньої частини папки, яка вас цікавить.
  • Введіть -kind:folderу поле пошуку прожектора

    Тут буде здійснено пошук усіх файлів, які не є папкою ( -знак заперечує результати).

  • Переконайтесь, що ви обмежили пошук ієрархією папок, яка вас цікавить, натиснувши назву папки в пошукових термінах, що знаходяться під полем пошуку Spotlight.

Тепер у вашому вікні Finder з'явиться список усіх файлів у цій ієрархії папок. Тепер виберіть усі файли, і застосуйте потрібні теги звичайним чином за допомогою Finder.

Використовуйте різні пошукові прожектори відповідно до ваших потреб.

Ви можете зробити цей процес трохи простіше, змусивши Spotlight завжди шукати в поточній папці, а не This Mac:

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder


1

Перейдіть до верхньої папки та знайдіть "." всередині цієї папки.

Виберіть усі файли та позначте їх.

Можливо, вам буде потрібно видалити тег, а потім знову застосувати його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.