Я генерирую пути к файлам для использования в электронных письмах, перетаскивая нужную папку / файл в Terminal.app, затем копируя и вставляя сгенерированный текст в текст электронного письма.
Скопированный путь с escape-последовательностями:
pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study\2016/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx
должен стать таким:
pCloud Drive/SEN pCloud/SEN Tech Team/Clean Energy WA Study 2016/For checking/AB checks/SEN RE SWIS 2030 notes for AB\checks - Backup input table tab \(5.1.16\).docx
Я ищу быстрый способ убрать все вхождения символа обратной косой черты, избегая пробела. Кто-то упомянул трюк Finder для этого, но теперь я забыл это.
Я пытался создать Finder Service, чтобы выполнить простой поиск и замену в Automator, но не смог этого сделать. Automator позволит мне отображать его в приложениях в разделе «Службы» (хотя в моем текущем macOS я не вижу этого меню, возможно, мне нужно что-то сделать, чтобы включить его).
Как мне это сделать?
Ответы:
Примечание: я считаю, что это работает только в Эль-Капитане и выше.
источник
Вы можете перетащить в TextEdit вместо терминала. TextEdit не будет добавлять обратную косую черту к тексту.
Вы все еще можете использовать терминал, хотя. Если вы напечатаете
echo
, затем перетащите в терминал, а затем нажмете Enter, обратные слэши будут удалены (на самом деле, они там именно для того, чтобы позволить командам терминала обрабатывать необработанный ввод -echo
не видит обратные слэши, но один аргумент содержащие пробелы).Кроме того, вы можете автоматизировать копирование текста, отправив по адресу
pbcopy
:Теперь нужный текст будет в вашем буфере обмена.
источник
fn2pb
- имя файла для монтажа, где находятся функции функцииpbcopy <<<"$@"
. Поэтому я печатаю иfn2pb
перетаскиваю файл в окно Terminal.app.Простой подход с использованием сервиса Automator:
Запустите Automator.app.
В строке меню выберите Файл → Создать → Сервис.
В области редактора установите параметры как:
Сервис получает выбранное :
text
в :
any application
Вывод заменяет выделенный текст :
select check-mark
На правой боковой панели выберите Библиотека → Утилиты → Выполнить действие сценария оболочки.
Перетащите действие в область редактора.
В разделе ** Run Shell Script * установите параметры как:
Оболочка :
/bin/bash
Пройдите ввод :
to stdin
В области редактора Run Shell Script введите следующую
sed
командную строку:sed 's/\\\ /\ /g'
Обратите внимание, что скрипт также содержит пробелы символов. Желательно отредактировать этот пост и скопировать скрипт как есть.
В меню Automator выберите Файл → Сохранить ... и сохраните сервис с подходящим именем.
Теперь, когда вы выделите текст в любом приложении и нажмете правой кнопкой мыши, вы увидите сервис в пункте Сервис контекстного меню.
После вызова сервиса все вхождения обратной косой черты, за которыми следует символ пробела, будут заменены только символом пробела.
источник