Как запустить Automator действия из командной строки на Mac

Многие пользователи 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. Вот как это сделать:

  1. Откройте приложение Automator (находится в папке Программы).
  2. При выборе типа документа укажите «Программа» (Application).
  3. В левой панели найдите нужное действие. Для примера возьмём «Разделить PDF-страницы».
  4. Перетащите действие в рабочую область справа.
  5. Настройте параметры (например, укажите папку для сохранения отдельных страниц).
  6. Сохраните файл через меню Файл → Сохранить (рекомендую назвать 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 кажется вам сложным, рассмотрите альтернативы:

  1. Скрипты на bash/zsh: Для работы с PDF можно использовать pdftk (установить через brew install pdftk-java) или встроенные инструменты типа pdfseparate.
  2. Shortcuts: Начиная с macOS Monterey, можно создавать ярлыки в приложении Shortcuts и запускать их через shortcuts run "Название ярлыка".

Кстати, Automator почти не обновлялся Apple с 2014 года. Для сложной автоматизации лучше изучать AppleScript или Swift-скрипты — они дают больше возможностей.

Подводя итог: Automator — это удобный «мост» между графическим интерфейсом и командной строкой, но требует подготовки рабочих процессов. Если вы часто работаете с терминалом, возможно, стоит потратить время на изучение альтернативных инструментов. Но для разовых задач (вроде разделения PDF) предложенный метод с созданием workflow — самый надёжный. Не стесняйтесь экспериментировать с разными действиями из папки /System/Library/Automator — там есть много скрытых возможностей!

Добавить комментарий

Все поля обязательны к заполнению. Ваш адрес email не будет виден никому.

Новое
Интересное