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

Me gustaría crear un servicio que coloque cualquier texto que seleccione en TextEdit o en los editores de texto de páginas web entre comillas. Entiendo que Automator es la herramienta a usar, pero ¿cómo creo esta acción usando AppleScript u otro lenguaje de secuencias de comandos en OS X (Lion)?

Respuestas (1)

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

Para esto, abra Automator, cree un nuevo Servicio, marque "La salida reemplaza el texto seleccionado", luego agregue la acción "Ejecutar Shell Script". En el cuadro donde ingresa el script de Shell, escriba:

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

Esto toma el texto que ingresó como entrada y agrega una comilla al principio y al final.

Ahora, una vez que guarde su servicio, puede, por ejemplo, ir a TextEdit, seleccionar el texto que desea citar, luego ir a Servicios -> "nombre de su servicio", ¡y su texto ahora debería estar citado!

Así es como se ve el servicio de automatización

Editar: incluí la eliminación de las comillas dobles finales

¡Muchas gracias! Esto funciona, pero con un efecto secundario no deseado: cuando selecciono un párrafo completo haciendo triple clic y luego aplico el servicio, se agrega un conjunto adicional de comillas vacías en una nueva línea. Sospecho que esto tiene que ver con el avance de línea que finaliza el párrafo, porque no sucede cuando selecciono el texto 'manualmente' dejando fuera el salto de párrafo/LF al final. ¿Cómo podría corregirse esto en el guión?
Una solución simple es usar: cat | sed 's/^/"/' | sed 's/$/"/' | sed 's/""//'Esto eliminará las comillas dobles ("") que puedan estar allí.
Gracias de nuevo. Ahora también creé un atajo de teclado para este servicio en Preferencias del Sistema > Teclado.
Modifiqué mi respuesta para incluir la eliminación de las comillas finales
Eso está bien, pero no puedo dejar de señalar que el script de shell se puede acortar a esto: sed -E 's/^(.+)$/"\1"/'(en una sola línea).
@HaraldHanche-Olsen Es posible que desee publicar su comentario como una respuesta alternativa aquí y tal vez también incluir lo que publicó en TeX Stackexchange, ya que es claramente una solución superior.