Ricerca Google da terminale: differenze tra le versioni

m
ripristino compatibilità
(Nuova pagina: ==Ricerca Google da terminale== Molto spesso ci ritroviamo ad utilizzare il terminale e, completamente immersi nell'uso della tastiera, può essere una scomodità lasciarla per passar...)
 
m (ripristino compatibilità)
 
(23 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. Ovviamente potete modificarlo come meglio credete.
[[Category: Browser]][[Category: Bash Scripting]]
3 581

contributi