Recortar caracteres de escape de la ruta del archivo

3

Genero rutas de archivo para usar en correos electrónicos arrastrando la carpeta / archivo en cuestión a Terminal.app y luego copiando & pegar el texto generado en un texto de correo electrónico.

La ruta copiada con secuencias de escape:

pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study16/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx

necesita volverse así:

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

Estoy buscando una forma rápida de eliminar todas las apariciones del carácter de barra invertida que se escapa del carácter de espacio. Alguien mencionó un truco de Finder para hacer eso, pero ahora lo he olvidado.

Intenté crear un Servicio de búsqueda para realizar una búsqueda sencilla & Reemplace en Automator, pero no pudo hacerlo. Automator me permitirá hacer que aparezca en Aplicaciones bajo Servicios (aunque en mi macOS actual no parece ver ese menú, tal vez necesito hacer algo para habilitarlo).

¿Cómo logro esto?

    
pregunta wide_eyed_pupil 10.08.2018 - 11:45

3 respuestas

7
  • Seleccione un archivo con un clic derecho
  • Mantenga presionada la tecla de opción
  • Seleccione el elemento del menú Copiar "nombre de archivo" como nombre de ruta

Nota: creo que esto solo funciona en El Capitán y en las versiones superiores.

    
respondido por el fd0 10.08.2018 - 13:20
2

Puede arrastrar en TextEdit en lugar de Terminal. TextEdit no agregará barras diagonales inversas al texto.

Aún puedes usar Terminal, sin embargo. Si escribe echo , luego arrastre y suelte en la Terminal, y luego presione Intro, las barras invertidas se eliminarán (en realidad, están allí precisamente para permitir que los comandos del terminal controlen la entrada en bruto - echo no ve barras diagonales inversas, pero un solo argumento que contiene caracteres de espacio).

$ echo pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study16/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 Study2016/For checking/AB checks/SEN RE SWIS 2030 notes for ABchecks - Backup input table tab (5.1.16).docx

Además, puede automatizar la copia del texto canalizando a pbcopy :

$ echo pCloud\ Drive/SEN\ pCloud/SEN\ Tech\ Team/Clean\ Energy\ WA\ Study16/For\ checking/AB\ checks/SEN\ RE\ SWIS\ 2030\ notes\ for\ AB\checks\ -\ Backup\ input\ table\ tab\ \(5.1.16\).docx | pbcopy

Ahora el texto deseado estará en tu portapapeles.

    
respondido por el BallpointBen 10.08.2018 - 17:20
2

Un enfoque simple utilizando el servicio Automator:

  1. Inicia Automator.app.

  2. En la barra de menús, vaya a Archivo → Nuevo → Servicio.

  3. En el área del editor, configure las opciones como:

    • El servicio recibe una selección : text

    • in : any application

    • La salida reemplaza el texto seleccionado : select check-mark

  4. En la barra lateral derecha, seleccione Biblioteca → Utilidades → Ejecutar acción del script de shell.

  5. Arrastrar & suelte la acción en el área del editor.

  6. En ** Ejecutar el script de shell *, configure las opciones como:

    • Shell : /bin/bash

    • Pasar entrada : to stdin

  7. En el área del editor Ejecutar script de shell , escriba la siguiente línea de comando sed :

    sed 's/\\ /\ /g'

    Tenga en cuenta que la secuencia de comandos también contiene espacios de caracteres. Se recomienda editar esta publicación y copiar el script tal como está.

  8. En el menú Automator, haga clic en Archivo → Guardar ... y guarde el servicio con un nombre adecuado.

  9. Ahora, cuando seleccione el texto en cualquier aplicación y haga clic con el botón derecho, podrá ver el servicio en el elemento del menú contextual Servicio .

  10. Al invocar el servicio, todas las apariciones de barra invertida seguidas por caracteres de espacio serán reemplazadas solo por el carácter de espacio.

respondido por el Nimesh Neema 10.08.2018 - 12:27

Lea otras preguntas en las etiquetas