5 votos

¿Cómo crear un servicio que ponga el texto seleccionado entre comillas?

Me gustaría crear un servicio que ponga entre comillas cualquier texto que seleccione en TextEdit o en editores de texto de páginas web. Entiendo que Automator es la herramienta a utilizar, pero ¿cómo puedo crear esta acción utilizando AppleScript u otro lenguaje de scripting en OS X (Lion)?

7voto

kareem Puntos 265

Una forma es crear un servicio que ejecute un comando de shell.

Para ello, abra Automator, cree un nuevo Servicio, marque "La salida reemplaza el texto seleccionado", y luego añada la acción "Ejecutar Shell script". En la casilla donde se introduce el Shell script escribe:

cat | sed 's/^/"/' | sed 's/$/"/' | sed 's/""//'

Toma el texto que has introducido como entrada, y añade una comilla al principio y al final.

Ahora, una vez que guardes tu servicio, puedes, por ejemplo, ir a TextEdit, seleccionar el texto que quieres citar, luego ir a Servicios -> "nombre de tu servicio", ¡y tu texto debería estar ahora citado!

This is how the automator Service looks like

Edición: He incluido la eliminación de las comillas dobles finales

0 votos

Muchas gracias. Esto funciona, pero con un efecto secundario no deseado: Cuando selecciono un párrafo entero haciendo triple clic y luego aplico el servicio, se añade un conjunto adicional de comillas vacías en una nueva línea. Sospecho que esto tiene que ver con el salto de línea que termina el párrafo, porque no sucede cuando selecciono el texto 'manualmente' dejando fuera el LF / salto de párrafo al final. ¿Cómo se podría corregir esto en el script?

1 votos

Una solución sencilla es utilizar: cat | sed 's/^/"/' | sed 's/$/"/' | sed 's/""//' Esto eliminará las comillas dobles ("") que pueda haber.

1 votos

Gracias de nuevo. Ahora también he creado un atajo de teclado para este servicio en Preferencias del Sistema > Teclado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X