Например, предположим, у меня есть структура каталогов, такая как
/Users
/tlehman
/Math
algebraic_varieties.tex [tagged: Math, Documentation]
projective_geometry.pdf [tagged: Math]
/Development
visualize_surfaces.py [tagged: Math, Programming]
solve_polynomials.scm [tagged: Math]
/guest
/Desktop
welcome.rtf [tagged: Documentation]
/Volumes
/USBKey
assignments_for_may.txt [tagged: Math]
using_LaTeX.pdf [tagged: Documentation]
Из командной строки можно ли использовать ls
(или что-то в этом роде) способ отображения всех файлов, помеченных как «Math»?
РЕДАКТИРОВАТЬ: я сделал инструмент под названием, tfind
который делает это: https://github.com/tlehman/bin/blob/master/tfind
macos
command-line
filesystem
mavericks
tlehman
источник
источник
tag
Джеймса Берри вhttps://github.com/jdberry
. Вы можете установить его черезbrew install tag
, добавить тег черезtag -a <tag> <file>
, найти теги черезtag -f <tag1, tag2>
. Очень, очень удобно, я использую это все время.tag
команду. Устанавливается с помощью Brew очень легко.Ответы:
Я предполагаю, что они будут xattr, как они в настоящее время на 10.8.3 (и старше)
В настоящее время вы можете просмотреть, с какими расширенными атрибутами имеет файл
ls -l@
.Но чтобы увидеть содержимое атрибутов, вы должны использовать
xattr
.источник
xattr -pl com.apple.metadata:_kMDItemUserTags filename
. Однако это был не очень дружелюбный выходной.Да, вы можете найти файлы с заданным пользовательским тегом
mdfind
.Создайте файл и присвойте ему пользовательский тег в Finder.
Тогда иди в терминал; Вы найдете это с:
или
Смотрите также,
-onlyin aFolder
чтобы ограничить поиск.Я не проверял, насколько сложными могут быть эти логические выражения, но эти два примера работают.
Вы можете передать вывод
ls
так:Также у mdfind есть опция "-0"
что может быть практичным с неприятными именами файлов.
источник
mdfind
синтаксис для тегов, например:mdfind "tag:Math"
,mdfind "tag:Math OR tag:Programming"
Вы можете получить все теги файла с помощью:
mdls -name kMDItemUserTags filename
источник