Usługi OSX - podstawianie znaków + za _

1

Stworzyłem usługę, której można używać głównie w przeglądarce do wyszukiwania IMDB, więc zamiast kopiować i wklejać nazwę filmu, po prostu zaznaczam tekst i uruchamiam utworzoną przeze mnie usługę, która automatycznie przeszukuje wybrany tekst w IMDB. To działa idealnie.

wprowadź opis zdjęcia tutaj

Miałem nadzieję, że zrobię to samo dla Wikipedii, więc próbowałem zmodyfikować tę samą usługę, ale napotkałem problem. Wyszukiwane hasło umieszcza znak „+” między każdym słowem.

To nie działa w przypadku Wikipedii. Umieszczają podkreślenia między swoimi słowami.

wprowadź opis zdjęcia tutaj

Zastanawiałem się, jak mogę zamienić znak + na _? Właśnie to mam obecnie

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

Z pozdrowieniami i Wesołych Świąt :)

Frasier013
źródło

Odpowiedzi:

0

WikiPedia umieszcza podkreślenia dla swoich wejściowych adresów URL, ale możesz użyć searchdowolnego ciągu (właściwie ze spacjami) za pomocą tego schematu URL:

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

Zamień [query]na swoje zapytanie.

Spróbuj na przykład: Wyszukaj „przepełnienie stosu”

Przekierowuje do poprawienia strony. Jeśli nie może ustalić, który wpis ma zostać wyświetlony, wyświetla listę możliwych wpisów, które można wybrać: Wyszukaj „przepełnienie stosu” .

TL; DR

Co więcej, jeśli oddzielisz słowa w zapytaniu +, działa to dobrze. Więc wszystko, co musisz zrobić, to wymienić

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

z tym:

                               ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
open "https://en.wikipedia.org/w/index.php?search=$(ruby -rcgi -e 'print CGI.escape $<.read.chomp')"
Behdad
źródło
@ Frasier013 Skoro jesteśmy przy tym temacie, to jest wielka rozbudowa Safari do poszukiwania w różnych miejscach z paska adresu. Ponieważ używasz El Capitan, postępuj zgodnie z pierwszym postem tutaj, aby zainstalować go na wypadek problemów.
Behdad
Dzięki kolego, sprawdzę to rozszerzenie. Doceń pomoc!
Frasier013,
0
open "https://en.wikipedia.org/wiki/$(ruby -rcgi -e 'print CGI.escape $<.read.chomp' | sed 's/+/_/g')"

sed 's/+/_/g' zamienia wszystkie wystąpienia + na _

grg
źródło