Automator: подсчет объема текста в любой Мак-программе

Каждый, кто часто работает с текстами и оперирует такими понятиями, как «количество знаков» или «количество слов», ощущает острую необходимость в редакторе с текстовым счетчиком. Программы Pages, Word, Byword и им подобные оснащены таким средством.

👌 В телеграм-канале «Лайфхакер» лучшие статьи о том, как сделать жизнь проще.

Но не пропускать же через эти приложения любой текстовый фрагмент, когда нужно выяснить его объем — это не всегда удобно. Чтобы счетчик знаков, слов и абзацев был всегда под рукой, можно воспользоваться «Автоматором», создав в нем очень простую службу.

Запускайте Automator и в списке новых процессов выберите тип Служба. С самого начала настроим нашу будущую службу: в заголовке области конструктора выберите в верхних двух выпадающих списках пункты текст (text) и любой программе (any application), соответственно.

Теперь из бокового меню, из раздела Библиотеки > Утилиты, перетащите в область конструктора действие Запустить AppleScript (Run AppleScript). В области кода этого действия уже будет стандартная заготовка — замените ее на следующий код:

on run {input, parameters}

try

–Перевод входного текстового массива в строковый формат

set MyText to input as string

–Определение и запись в переменные числа знаков, слов и абзацев

set CharactersNumber to the number of characters of MyText

set WordsNumber to the number of words of MyText

set ParagraphsNumber to the number of paragraphs of MyText

–Формирование внешнего вида диалогового окна

set DialogIcon to ("///System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingText.icns") as POSIX file

set DialogTitle to “В выбранном текстовом фрагменте:”

set ResultString to “Знаков: ” & CharactersNumber ¬

& return & “Слов: ” & WordsNumber ¬

& return & “Абзацев: ” & ParagraphsNumber

–Отображение диалогового окна с определенными выше значениями

using terms from application "Finder"

display dialog ResultString ¬

with icon DialogIcon ¬

buttons {“OK”} default button 1 ¬

with title DialogTitle

end using terms from

–Обработчик ошибочной ситуации

on error errmsg number errnum

display dialog errmsg & ” [“ & errnum & ”] ” ¬

buttons {“OK”} default button 1 with icon stop

end try

return input

end run

Собственно, и все. Остается только сохранить эту службу под названием, например, Статистика и проверить ее на деле — хотя бы на примере веб-браузера.

Загрузите какую-нибудь веб-страницу с более-менее объемным текстом, выделите произвольный фрагмент и щелкните на нем правой кнопкой мыши — в контекстном меню должна появиться команда Статистика (она может находиться в группе Службы). Нажав ее, вы увидите результат работы службы — маленький диалог с требуемой информацией о выделенном тексте:

Если нашли ошибку, выделите текст и нажмите Ctrl + Enter

Это упрощённая версия страницы.

Читать полную версию
Никита Бегун
О, супер, спасибо!
Игорь
Где этому учат?
Alexander Zhurovich
Может, где-то и учат, но и самому это освоить можно. Вы задавайте вопросы, вносите предложения по написанию статей. «Автоматор» — очень недооцененная программа, и мне было бы приятно кого-нибудь научить ею пользоваться. Вот эти статьи — некая попытка хотя бы заинтересовать желающих. :)
Mihail Tugushev
Здравствуйте. Меня интересует как оптимизировать документооборот через автоматор. У меня много проектов и для каждого я завожу отдельную папку. Внутри папки все файлы начинаются с названия папки, а потом после идет описание самого файла. Например: Zvezdochka/Zvezdochka_info_clien.txt и т.д. В Тотал коммандаре можно было настраивать и он сам переименовывал все новые файлы, добовляемые в папку. А по автоматору я нашел функцию переименования, но только придется создовать отдельную службу для каждой папки. А можно ли иначе вот в чем мой вопрос.
Читать все комментарии