Ricerca Google da terminale: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (verificata)
m (ripristino compatibilità)
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Stretch|Buster}}
__TOC__
__TOC__
==Creazione dello script==
==Creazione dello script==
Riga 6: Riga 6:


<pre>
<pre>
$ google stringa da ricercare
$ google "stringa da ricercare"
</pre>
</pre>


Una volta digitato il comando di sopra si dovrebbe aprire la finestra del browser con i risultati della ricerca già belli e pronti.
Una volta digitato il comando di sopra si dovrebbe avviare il browser predefinito (senza richiedere un server grafico attivo), con i risultati della ricerca già belli e pronti. Per fare quanto abbiamo detto basta creare uno script simile al seguente:
Per fare quanto abbiamo detto basta creare uno script simile al seguente:


<pre>
<pre>
Riga 20: Riga 19:
# rimpiazza gli spazi con + (equivalentemente con %20)
# rimpiazza gli spazi con + (equivalentemente con %20)
# $* prende tutti i parametri dello script in un'unica variabile
# $* prende tutti i parametri dello script in un'unica variabile
str_search=$(echo "$*" | sed 's/[[:space:]]/+/g')
str_search=$(printf %s\\n "$*" | sed 's/[[:space:]]/+/g')


# a causa del fatto che le virgolette vengono utilizzate per gli argomenti dello script contenenti spazi
# a causa del fatto che le virgolette vengono utilizzate per gli argomenti dello script contenenti spazi
# allora due underscore __ verranno convertiti nelle virgolette di google
# allora due underscore __ verranno convertiti nelle virgolette di google
str_search=$(echo "$str_search" | sed 's/__/"/g')
str_search=$(printf %s\\n "$str_search" | sed 's/__/"/g')


# debug, stampa la stringa modificata, se la variabile DEBUG è impostata a "1", "true", "yes" o "on"
# debug, stampa la stringa modificata, se la variabile d'ambiente DEBUG è 1
case "${DEBUG:-}" in
if [ "${DEBUG:-0}" = 1 ]; then
   1|[tT][rR][uU][eE]|[oO][nN]|[yY][eE][sS] ) printf %s\\n "DEBUG: $str_search" >&2
   printf %s\\n "DEBUG: $str_search" >&2
  ;;
fi
esac


exec www-browser "http://www.google.it/search?hl=it&source=hp&q=${str_search}"
exec www-browser "https://www.google.it/search?hl=it&source=hp&q=${str_search}"
</pre>
</pre>


Poi basta salvare questo script (io gli ho dato il nome google) in <code>/usr/local/bin</code> con [[privilegi di amministratore]], per poterlo utilizzare in qualunque directory vi troviate.<br>
Poi basta salvare questo script (in questa guida gli si è dato il nome <code>google</code>) in <code>/usr/local/bin</code> con [[privilegi di amministrazione]], per poterlo utilizzare in qualunque directory vi troviate.<br>
Ricordatevi di cambiare i permessi sul file, per aggiungere il bit di esecuzione:
Ricordatevi di cambiare i permessi sul file, per aggiungere il bit di esecuzione:
<pre>
<pre>
Riga 58: Riga 56:
* ricerca di una sequenza esatta di stringhe ("debian lenny")
* ricerca di una sequenza esatta di stringhe ("debian lenny")
<pre>
<pre>
$ google "__debian lenny__"
$ google __debian+lenny__
</pre>
</pre>
<pre>
<pre>
Riga 66: Riga 64:


{{Autori
{{Autori
|Autore = [[Utente:Np2k|np2k]], 15/03/2010
|Autore = [[Utente:Np2k|np2k]] 19:20, 30 mar 2010 (CEST)
|Verificata_da =
|Verificata_da =
: [[Utente:HAL 9000|HAL 9000]] 16:54, 20 apr 2015 (CEST)
:[[Utente:HAL 9000|HAL 9000]] 21:23, 18 ago 2019 (CEST)
|Estesa_da =
|Numero_revisori = 1
|Numero_revisori = 1
}}
}}


[[Category: Browser]][[Category: Bash Scripting]]
[[Category: Browser]][[Category: Bash Scripting]]

Versione attuale delle 10:26, 28 set 2019

Debian-swirl.png Versioni Compatibili

Debian 9 "stretch"
Debian 10 "buster"

Creazione dello script

Molto spesso ci ritroviamo ad utilizzare il terminale e, completamente immersi nell'uso della tastiera, può essere una scomodità lasciarla per passare al mouse, aprire il nostro browser e digitare la chiave da ricercare e infine vedere i risultati. Sarebbe molto comodo avere a disposizione uno script che permettesse di eseguire gran parte dei passi precedenti direttamente da terminale. Ovvero sarebbe comodo poter scrivere una cosa del genere:

$ google "stringa da ricercare"

Una volta digitato il comando di sopra si dovrebbe avviare il browser predefinito (senza richiedere un server grafico attivo), con i risultati della ricerca già belli e pronti. Per fare quanto abbiamo detto basta creare uno script simile al seguente:

#! /bin/sh

# script per la ricerca in google da linea di comando
# by np - 11 marzo 2010

# rimpiazza gli spazi con + (equivalentemente con %20)
# $* prende tutti i parametri dello script in un'unica variabile
str_search=$(printf %s\\n "$*" | sed 's/[[:space:]]/+/g')

# a causa del fatto che le virgolette vengono utilizzate per gli argomenti dello script contenenti spazi
# allora due underscore __ verranno convertiti nelle virgolette di google
str_search=$(printf %s\\n "$str_search" | sed 's/__/"/g')

# debug, stampa la stringa modificata, se la variabile d'ambiente DEBUG è 1
if [ "${DEBUG:-0}" = 1 ]; then
   printf %s\\n "DEBUG: $str_search" >&2
fi

exec www-browser "https://www.google.it/search?hl=it&source=hp&q=${str_search}"

Poi basta salvare questo script (in questa guida gli si è dato il nome google) in /usr/local/bin con privilegi di amministrazione, per poterlo utilizzare in qualunque directory vi troviate.
Ricordatevi di cambiare i permessi sul file, per aggiungere il bit di esecuzione:

# chmod 755 /usr/local/bin/google

E di cambiare utente e gruppo in root, per impedire che l'utente possa cambiargli i permessi e in seguito modificarlo, introducendo potenzialmente una vulnerabilità nel sistema:

# chown root:root /usr/local/bin/google

Esempi d'uso

Vediamo alcuni esempi:

  • ricerca semplice
$ google "stringa da cercare"
$ google "l'amore"
  • ricerca di una sequenza esatta di stringhe ("debian lenny")
$ google __debian+lenny__
$ google "__l'albero a cui tendevi__"




Guida scritta da: np2k 19:20, 30 mar 2010 (CEST) Swirl-auth40.png Debianized 40%
Estesa da:
Verificata da:
HAL 9000 21:23, 18 ago 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized