Автоматически измените содержание буфера обмена (regex замена шаблона) когда вставка копии

Я часто копирую маленькие отдельные текстовые отрывки и вставляю их где-то в другом месте. После этого я всегда должен редактировать вставляемый результат четко определенным способом, который может быть описан через замену регулярного выражения, подобную, например. sed s/PATTERN/REPLACEMENT/ команда.

Я хотел бы автоматизировать часть редактирования этой задачи при наличии сценария, автоматически обрабатывающего содержание моего буфера буфера обмена в некоторое время между копированием и вставкой и изменением его путем применения настроенной замены регулярного выражения.

Фактический regex шаблон и замена должны вводиться пользователем, когда сценарий будет запущен, и это также должно так или иначе указать, что работает, хотя, например, путем оставления небольшого диалогового окна открытым и путем отправки настольному уведомлению каждого раза модификация была сделана.

4
задан 20 January 2017 в 01:41

2 ответа

Введение

Путем вопрос отправляется, требует больше, чем просто наличие простого сценария, но также и графического интерфейса для включения/отключения сценария. Я нашел, что было бы легче достигнуть через Индикатор приложения, который будет доступен от верхней панели Ubuntu. Этот ответ подарки точно, что как решение.

clipboard-autoedit-indicator , то, которое я записал специально для этого вопроса, допускает автоматическое редактирование содержания буфера обмена на основе regex выражения (выбор sed или Python re стиль). Это использует модуль буфера обмена Gtk и минимальные зависимости, таким образом никакая потребность в установке дополнительных инструментов такой как xclip или xsel.

Установка

Выполните следующие команды в терминале:

sudo add-apt-repository ppa:1047481448-2/sergkolo
sudo apt-get update
sudo apt-get install clipboard-autoedit-indicator

Использование

Индикатор может быть запущен путем ввода в Тире Единицы Clipboard Autoedit или через вызов /usr/bin/clipboard-autoedit-indicator от командной строки. Существует два значка индикатора (окрашены и grayed значок буфера обмена) для отображения, когда динамическое редактирование буфера обмена позволено/отключено. Когда редактирование происходит, уведомление отправляется пользователю.

enter image description here

Вызовы пункта меню "Set regex pattern" zenity диалоговое окно форм. Когда пользователь редактирует правило regex, его помнят и хранят в ~/.clipboard-autoedit-config.json файл. Динамическое редактирование будет включено автоматически, когда пользователь нажмет "OK" кнопка, но пользователи могут отключить его через "Замену, Включенную" пункт меню проверки. regex вводят значения по умолчанию к Python re модуль.

enter image description here

Исходный код

Исходный код доступен в соответствии с лицензией MIT на GitHub. Дальнейшее развитие и более новые версии будут там, и если у Вас есть запрос новых функций и/или отчет об ошибках, отправьте их на GitHub.

5
ответ дан 1 December 2019 в 09:13

Это просто с xclip. Поскольку уведомление укусило notify-send от libnotify-bin, пакет должен удовлетворить Вашим потребностям. Вы, возможно, должны установить пакеты сначала:

sudo apt-get install xclip libnotify-bin

Помещенный следующее в сценарий и делают это выполнимым с привязкой клавиш:

#!/bin/bash

xclip -o | sed 's/pat/repl/' | xclip -i
notify-send "Clipboard" "Replacement done"
2
ответ дан 1 December 2019 в 09:13

Другие вопросы по тегам:

Похожие вопросы: