Como combinar wget e grep

Como combinar wget e grep

Eu tenho um URL de página HTML e quero acessá-lo. Como posso fazer isso wget someArgs | grep keyword?

Minha primeira ideia foi wget -q -O - url | grep keyword, mas a saída do wget ignora o grep e surge no terminal em sua forma original.

Responder1

A maneira mais fácil é usar curlcom a opção -sparasilencioso:

curl -s http://somepage.com | grep whatever

Responder2

Manter isso por uma questão de integridade.

Seu exemplo deve realmente funcionar. A sintaxe está correta eaqui está um screencast que acabei de fazer demonstrando isso, com um bom e velho GNU wget1.13.4.

wget -q some-url -O - | grep something

Portanto, suponha que seu padrão esteja errado e grepexibirá tudo o que obteve.

Responder3

Se você estiver procurando cabeçalhos grep ou pipe, eles são direcionados por padrão para stderr, portanto, você precisa redirecioná-los. Por exemplo:

wget -O - http://example.com/page.php > /dev/null 2>&1 | grep HTTP

Responder4

O wgetgrava sua saída em stderr not to stdout, então é necessário redirecionar o stderrto stdout:

wget -q -O - url 2&>1 | grep keyword

informação relacionada