Есть ли способ, которым я могу установить цветовую метку файла в какой-либо цвет в терминале?
Я знаю, что следующая команда перечисляет некоторую информацию о том, какой цвет в настоящее время, но я не могу понять, как с этим что-то сделать. Как изменить это.
mdls -name kMDItemFSLabel somefile.ext
Причина, по которой я хотел бы знать, заключается в том, что я хочу рекурсивно пометить все файлы в папке определенного типа определенной цветовой меткой (в моем случае серым).
Я знаю, как сделать вывод:
find . -name "*.ext"
И я знаю, как я могу выполнить команду впоследствии для каждого файла, используя -exec
, но мне нужно знать, как сделать фактическую маркировку ...
Мне бы хотелось решение, которое включает в себя только команды, встроенные в Mac OS X. Поэтому желательно никаких сторонних вещей, если нет другого пути.
osascript -e "сказать приложению \" Finder \ ", чтобы установить индекс метки файла POSIX (\" / junk.txt \ ") на 1"
источник
osascript -e "tell app \"Finder\" to set label index of POSIX file (\"/junk.txt\") to 1
Что, если файл junk.txt действительноmy full/path/with spaces.txt
хранится в переменной с именем «$fileName
Я перепробовал бесчисленные синтаксисы и одинарные кавычки, двойные кавычки ... и ни один из них не работает».File\ with\ Spaces.txt
Вот моя версия, основанная на двух из @Lauri и @Robert. Вы указываете цвет, используя название цвета, а не номер. Названия цветов соответствуют выводу
hfsdata -L
, поэтому вы используете «Нет», чтобы не назначать цвет файлу. Сохраните это в файле с именем "setlabel" и сделайтеchmod 755 setlabel
.источник
Чтобы просмотреть их в Finder (я знаю, не то, что вы просили), вы можете использовать xattr -l или xattr -p com.apple.FinderInfo, вы получите флаг среди нулей (1E), младшие биты которого являются цвет .. С сторонним материалом: hfsdebug (используйте с sudo), чтобы получить много информации, среди которых читаемая цветная метка.
Чтобы изменить их с помощью третьей части: у osxutils есть команда setlabel.
источник
Это будет использовать тот же порядок для цветов, что и Finder.
stderr перенаправлен, потому что преобразование относительного пути к псевдониму приводит к предупреждению, как CFURLGetFSRef, которому передали этот URL, который не имеет схемы на 10.8. stdout перенаправляется, потому что osascript печатает значение последнего выражения.
источник
Мне нравятся эти сценарии, однако они не работали для моих файлов, которые использовали пробелы в своих именах, пока я не изменил настройку IFS для bash внутри сценария, а также я изменил ввод файла, чтобы принимать текстовый файл со списком имен файлов:
источник
Вот две статьи, описывающие, как это сделать с помощью appleScript, которые, в свою очередь, могут быть вызваны из командной строки.
Как установить цветовую метку через терминал или яблочный скрипт
и
пометить файлы цветами в os-x finder из сценариев оболочки .
источник