GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Modificar automáticamente el contenido del portapapeles (reemplazo de patrón regex) al copiar y pegar?

A menudo copio pequeños fragmentos de texto separados y los pego en otro lugar. Después de eso, siempre necesito editar el resultado pegado de una manera bien definida, que se puede describir a través de un reemplazo de expresión regular similar a, por ejemplo. sed ‘s s/PATTERN/REPLACEMENT/ comando.

Me gustaría automatizar la parte de edición de esta tarea haciendo que un script procese automáticamente el contenido del búfer de mi portapapeles en algún momento entre copiar y pegar y modificarlo aplicando un reemplazo de expresión regular configurado.

El patrón real de expresión regular y el reemplazo deben ser ingresados ​​por el usuario cuando se inicia el script y también debería indicar de alguna manera que se está ejecutando, p. dejando una pequeña ventana de diálogo abierta y enviando una notificación de escritorio cada vez que se haya realizado una modificación.

Respuesta aceptada:

Introducción

La forma en que se publica la pregunta requiere más que solo tener un script simple, sino también una interfaz GUI para habilitar/deshabilitar el script. Descubrí que sería más fácil lograrlo a través de un indicador de aplicación al que se podría acceder desde el panel superior de Ubuntu. Esta respuesta presenta exactamente eso como una solución.

El clipboard-autoedit-indicator , que he escrito específicamente para esta pregunta, permite la edición automática del contenido del portapapeles en función de una expresión regular (elección de sed o re de python estilo ). Utiliza el módulo portapapeles de Gtk y dependencias mínimas, por lo que no es necesario instalar herramientas adicionales como xclip o xsel .

Instalación

Ejecute los siguientes comandos en la terminal:

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

Uso

El indicador se puede iniciar escribiendo en Unity Dash Clipboard Autoedit o llamando a /usr/bin/clipboard-autoedit-indicator desde la línea de comandos. Hay dos iconos indicadores (icono de portapapeles en color y atenuado) para mostrar cuando la edición dinámica del portapapeles está habilitada o deshabilitada. Cuando se produce la edición, se envía una notificación al usuario.

El elemento del menú "Establecer patrón de expresiones regulares" llama a zenity diálogo de formularios. Cuando el usuario edita la regla de expresiones regulares, se recuerda y almacena en ~/.clipboard-autoedit-config.json expediente. La edición dinámica se habilitará automáticamente cuando el usuario haga clic en Aceptar botón, pero los usuarios pueden deshabilitarlo a través del elemento de menú de verificación "Reemplazo habilitado". El tipo de expresión regular por defecto es re de python módulo.

Código fuente

El código fuente está disponible bajo la licencia MIT en GitHub. El desarrollo adicional y las versiones más nuevas estarán allí, y si tiene una solicitud de función y / o un informe de error, envíelos en GitHub.

Relacionado:¿Qué son los juegos Steam Gems Steam?
Ubuntu
  1. Regex de caso de Unix?

  2. ¿Ubuntu se conecta automáticamente a una red inalámbrica cuando ya está conectado por Eth0 a la misma red?

  3. Facebook muestra contenido incorrecto cuando se publica mi URL

  4. Patrón Regex para editar el archivo /etc/sudoers

  5. ¿Archivos con el mismo contenido pero con diferentes md5sums cuando gzip'd?

Cómo deshabilitar automáticamente el panel táctil al escribir en Ubuntu

Cómo deshabilitar automáticamente el panel táctil cuando el mouse está conectado a su sistema Ubuntu

Deshabilitar automáticamente el panel táctil cuando se usa el mouse en Ubuntu Linux [Consejo rápido]

¿Conectarse automáticamente a Vpn cuando se usa una red específica en Ubuntu Gnome 16.04?

¿Por qué Nautilus se abre automáticamente cuando se carga Kde?

Responda automáticamente 'Sí' cuando use apt-get install