У меня есть скрипт Automator для сервиса, который выглядит так:
Receives as text in any application. Input is entire selection, does not replace selected text.
-> Run Shell Script (/bin/bash) "expand -t 4" pass input to stdin
-> Copy to Clipboard
Другие параметры не установлены. Идея состоит в том, что я могу выбрать некоторый код и поместить в буфер обмена версию без табуляции без необходимости вставлять код в BBEdit для удаления табуляции.
Сервис выдает только первую строку выделенного текста. Удаление действия сценария оболочки помещает весь выделенный текст в буфер обмена. Бег
expand -t 4 < /path/to/tabbed.file > result.file
дает преобразованное содержимое всего входного файла. Замена команды на «wc» показывает разумное количество строк, слов и символов.
Таким образом, проблема, по-видимому, заключается в передаче выбора более чем одной строки в expand (1) стандартным вводом из ввода службы Automator. Я не вижу ничего подходящего на справочной странице expand(1).
Что я делаю неправильно?