Ricerca Google da terminale: differenze tra le versioni

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


#a causa del fatto che le " vengono utilizzate per gli argomenti dello script contenenti spazi
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>
#allora il simbolo __ verra' convertito nelle " di google
Ricordatevi di cambiare i permessi sul file, per aggiungere il bit di esecuzione:
str_search=$(echo $str_search|sed 's/__/"/g')
<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>


#debug, stampa la stringa modificata
==Esempi d'uso==
#echo $str_search
Vediamo alcuni esempi:


google-chrome "http://www.google.it/search?hl=it&source=hp&q="$str_search 2> /dev/null > /dev/null &
* ricerca semplice
exit 0
<pre>
$ google "stringa da cercare"
</pre>
</pre>
<pre>
$ google "l'amore"
</pre>
* ricerca di una sequenza esatta di stringhe ("debian lenny")
<pre>
$ google __debian+lenny__
</pre>
<pre>
$ google "__l'albero a cui tendevi__"
</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
}}


Poi basta salvare questo script (io gli ho dato il nome google) in /usr/local/bin per poterlo utilizzare in qualunque directory vi troviate.
[[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