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 curl
com a opção -s
parasilencioso:
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 wget
1.13.4.
wget -q some-url -O - | grep something
Portanto, suponha que seu padrão esteja errado e grep
exibirá 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 wget
grava sua saída em stderr
not to stdout
, então é necessário redirecionar o stderr
to stdout
:
wget -q -O - url 2&>1 | grep keyword