Ricerca Google da terminale: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (ripristino compatibilità)
 
(20 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian|}}
{{Versioni compatibili|Stretch|Buster}}
==Ricerca Google da terminale==
__TOC__
 
==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.
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:
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:


<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>
#script per la ricerca in google da linea di comando
#! /bin/sh
#by np - 11marzo2010


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


#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/ /+/g')
str_search=$(printf %s\\n "$*" | sed 's/[[:space:]]/+/g')


#a causa del fatto che le " 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 il simbolo __ verra' convertito nelle " 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
# debug, stampa la stringa modificata, se la variabile d'ambiente DEBUG è 1
#echo $str_search
if [ "${DEBUG:-0}" = 1 ]; then
  printf %s\\n "DEBUG: $str_search" >&2
fi


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


Poi basta salvare questo script (io gli ho dato il nome google) in /usr/local/bin per poterlo utilizzare in qualunque directory vi troviate. Ovviamente se non utilizzate chrome, basta cambiare il "google-chrome" con l'eseguibile del vostro browser predefinito.
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:
<pre>
# chmod 755 /usr/local/bin/google
</pre>
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:
<pre>
# chown root:root /usr/local/bin/google
</pre>


==Esempi d'uso==
==Esempi d'uso==
Riga 40: Riga 48:
* ricerca semplice
* ricerca semplice
<pre>
<pre>
$ google stringa da cercare
$ google "stringa da cercare"
$ google "stringa da cercare"
</pre>
<pre>
$ google "l'amore"
</pre>
</pre>


* 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__
$ google "__debian lenny__"
</pre>
</pre>
* ricerca di stringhe con apostrofo
<pre>
<pre>
$ google "__l'albero a cui tendevi__"
$ google "__l'albero a cui tendevi__"
</pre>
</pre>


<pre>
$ google "l'amore"
</pre>


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


NOTA: le " servono soprattutto quando vengono utilizzati gli apostrofi (o comunque sia altri caratteri che possono "disturbare" il recupero dei parametri da parte dello script)
[[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