Servicios OSX - sustitución de caracteres + por _

1

He creado un servicio para usar principalmente en un navegador para buscar IMDB, así que en lugar de copiar y pegar el nombre de la película, simplemente selecciono el texto y ejecuto el servicio que creé, que buscará automáticamente en IMDB el texto seleccionado. Esto funciona perfecto.

TeníalaesperanzadehacerlomismoparaWikipediay,porlotanto,heintentadomodificarelmismoservicio,peroheencontradounproblema.Laconsultadebúsquedacolocaun"+" entre cada palabra.

Esto no funciona para Wikipedia. Colocan guiones bajos entre sus palabras.

Mepreguntécómopuedosustituirel+por_?Estoesloquetengoactualmente

open"https://en.wikipedia.org/wiki/$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"

Saludos cordiales y Feliz Navidad :)

    
pregunta Frasier013 24.12.2015 - 20:35

2 respuestas

0

WikiPedia coloca guiones bajos para sus URL de entrada, pero puede search cualquier cadena (en realidad con espacios) con este esquema de URL:

http://en.wikipedia.org/w/index.php?search=[query]

Reemplaza [query] con tu consulta de búsqueda.

Prueba esto, por ejemplo: Busca "desbordamiento de pila"

Redirige a la página correcta. Si no puede determinar qué entrada mostrar, muestra una lista de posibles entradas que puede seleccionar de: Buscar "desbordamiento de pila" .

TL;DR

Además, si se separan las palabras en la consulta con + , funciona bien. Así que todo lo que necesitas hacer es reemplazar

                               ↓↓↓↓↓↓
open "https://en.wikipedia.org/wiki/$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"

con esto:

                               ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
open "https://en.wikipedia.org/w/index.php?search=$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"
    
respondido por el Behdad 24.12.2015 - 20:47
0
open "https://en.wikipedia.org/wiki/$(ruby -rcgi -e 'print CGI.escape $<.read.chomp' | sed 's/+/_/g')"

sed 's/+/_/g' reemplaza todas las instancias de + con _

    
respondido por el grg 24.12.2015 - 20:41

Lea otras preguntas en las etiquetas