My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# ----------------------------------------------------------------------------
# http://google.com
# Pesquisa no Google diretamente pela linha de comando.
# Uso: zzgoogle [-n <número>] palavra(s)
# Ex.: zzgoogle receita de bolo de abacaxi
# zzgoogle -n 5 ramones papel higiênico cachorro
#
# Autor: Aurelio Marinho Jargas, www.aurelio.net
# Desde: 2003-04-03
# Licença: GPL
# ----------------------------------------------------------------------------
# FIXME: zzgoogle rato roeu roupa rei roma [PPS], [PDF]
zzgoogle ()
{
zzzz -h google "$1" && return

local padrao
local limite=10
local url='http://www.google.com.br/search'

# Opções de linha de comando
if [ "$1" = '-n' ]
then
limite=$2
shift; shift
fi

# Verificação dos parâmetros
[ "$1" ] || { zztool uso google; return 1; }

# Prepara o texto a ser pesquisado
padrao=$(echo "$*" | sed "$ZZSEDURL")
[ "$padrao" ] || return 0

# Pesquisa, baixa os resultados e filtra
#
# O Google condensa tudo em um única longa linha, então primeiro é preciso
# inserir quebras de linha antes de cada resultado. Identificadas as linhas
# corretas, o filtros limpa os lixos e formata o resultado.

$ZZWWWHTML "$url?q=$padrao&num=$limite&ie=UTF-8&oe=UTF-8&hl=pt-BR" |
sed 's/<h3 class="r">/\
@/g' |
sed '
/^@<a href="\([^"]*\)" class=l>/!d
s/^@<a href="//
s/" class=l>/ /
s/<\/a>.*//

# Remove tags HTML
s/<[^>]*>//g

# Restaura os caracteres especiais
s/&gt;/>/g
s/&lt;/</g
s/&quot;/"/g
s/&nbsp;/ /g
s/&amp;/\&/g

s/\([^ ]*\) \(.*\)/\2\
\1\
/'
}

Change log

r710 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: $1 colocado entre aspas na
chamada padrão zzzz -h de todas as
funções.
Go to: 
Sign in to write a code review

Older revisions

r668 by aureliojargas on Mar 28, 2012   Diff
lint: removendo espaços inúteis.
r655 by aureliojargas on Mar 23, 2012   Diff
s/Aurélio/Aurelio/ *
r524 by aureliojargas on May 23, 2011   Diff
COMBO: Agora todas as chamadas ao
zztool uso por falha na verificação
dos parâmetros possuem um return 1
depois. Assim outros scripts que usam
as funções podem detectar erros.
All revisions of this file

File info

Size: 1570 bytes, 63 lines
Powered by Google Project Hosting