Многие пользователи Mac даже не догадываются, что в системе уже встроены десятки полезных инструментов для автоматизации рутинных задач. Например, в папке /System/Library/Automator
хранятся готовые действия — от объединения PDF до работы с изображениями. Но как их использовать, если вы привыкли работать в терминале или хотите встроить функционал в свои скрипты? Давайте разбираться шаг за шагом, избегая распространённых ошибок.
Не получается запустить Automator-действия напрямую
Первое, что приходит в голову — найти исполняемый файл внутри папки действия и запустить его через терминал. Например, для разделения PDF-файлов есть Split PDF.action
, внутри которого лежит файл /MacOS/Split PDF
. Но при попытке запуска возникает ошибка zsh: exec format error
.
Почему так происходит? Дело в том, что большинство файлов в папках MacOS
— это не самостоятельные программы, а «обёртки», которые работают только внутри Automator. Они зависят от структуры всего пакета действия (ресурсы, настройки, связи с другими компонентами системы).
Пример неправильного подхода:
/System/Library/Automator/Split PDF.action/Contents/MacOS/Split PDF
Этот код вызовет ошибку, так как система не распознаёт формат файла. То же самое произойдёт, если попытаться передать путь к действию в команду automator
без подготовки.
Создание рабочего процесса Automator
Чтобы использовать любое встроенное действие через терминал, нужно сначала создать рабочий процесс (workflow) в приложении Automator. Вот как это сделать:
- Откройте приложение Automator (находится в папке
Программы
). - При выборе типа документа укажите «Программа» (Application).
- В левой панели найдите нужное действие. Для примера возьмём «Разделить PDF-страницы».
- Перетащите действие в рабочую область справа.
- Настройте параметры (например, укажите папку для сохранения отдельных страниц).
- Сохраните файл через меню Файл → Сохранить (рекомендую назвать
SplitPDF.workflow
и разместить в удобном месте, например, в~/Documents/
).
Теперь этот workflow можно запустить из терминала командой:
automator ~/Documents/SplitPDF.workflow
Если нужно передать аргументы (например, путь к PDF-файлу), используйте флаг -i
:
automator -i "/path/to/your/file.pdf" ~/Documents/SplitPDF.workflow
Важно:
- Некоторые действия требуют явного указания входных данных через
Get Specified Finder Items
(если не передаёте аргументы через-i
). - Для сложных задач можно создать workflow с несколькими действиями подряд.
Исключения и альтернативные подходы
Есть редкие случаи, когда внутри действия уже есть готовый исполняемый файл. Например:
/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join
Его можно запустить напрямую:
/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join input.pdf output.pdf
Но таких примеров мало — большинство требуют workflow.
Если Automator кажется вам сложным, рассмотрите альтернативы:
- Скрипты на bash/zsh: Для работы с PDF можно использовать
pdftk
(установить черезbrew install pdftk-java
) или встроенные инструменты типаpdfseparate
. - Shortcuts: Начиная с macOS Monterey, можно создавать ярлыки в приложении Shortcuts и запускать их через
shortcuts run "Название ярлыка"
.
Кстати, Automator почти не обновлялся Apple с 2014 года. Для сложной автоматизации лучше изучать AppleScript или Swift-скрипты — они дают больше возможностей.
Подводя итог: Automator — это удобный «мост» между графическим интерфейсом и командной строкой, но требует подготовки рабочих процессов. Если вы часто работаете с терминалом, возможно, стоит потратить время на изучение альтернативных инструментов. Но для разовых задач (вроде разделения PDF) предложенный метод с созданием workflow — самый надёжный. Не стесняйтесь экспериментировать с разными действиями из папки /System/Library/Automator
— там есть много скрытых возможностей!