grep seleciona linhas delimitadas por (por exemplo) retorno de carro e caracteres de avanço de linha, uma resposta HTML não possui linhas com texto com marcação como <br> ou <p>, para que toda a página da Web pareça uma linha para grep
RedGrittyBrick
11
@RedGrittyBrick O comando do OP funciona perfeitamente para mim.
slhck
Respostas:
11
A maneira mais fácil é usar curlcom a opção -sde silêncio:
@ Sllck: Ambos os comandos fazem exatamente o mesmo por mim.
Dennis
@ Dennis Tentando curling http://superuser.com/questions/431581. Por qualquer motivo, testei-o com esse URL em particular e não obtive saída. Não sei o que estou perdendo.
slhck
@slhck: o Curl não segue os redirecionamentos por padrão. Isso acontece com o -Linterruptor.
Dennis
@Dennis Não sabia do que estava falando sem ver os comentários excluídos - mas sim, isso faz sentido. Obrigado por esclarecer.
slhck
11
A pergunta pede pelo wget. Não enrolar. Isso não funcionará com vários redirecionamentos e a opção -L.
Respostas:
A maneira mais fácil é usar
curl
com a opção-s
de silêncio:fonte
curl
inghttp://superuser.com/questions/431581
. Por qualquer motivo, testei-o com esse URL em particular e não obtive saída. Não sei o que estou perdendo.-L
interruptor.Manter isso por uma questão de integridade.
Seu exemplo deve realmente funcionar. A sintaxe está correta, e aqui está um screencast que acabei de demonstrar , com um bom e velho GNU
wget
1.13.4.Portanto, assuma que seu padrão está errado e
grep
apenas produzirá tudo o que tem.fonte
-q
, não há mensagem de erro.Este bug foi corrigido na v1.12.1 em outra versão . Atualmente eu uso a v1.15 e funciona conforme o esperado.
fonte
Se você estiver procurando grep ou encabeçar cabeçalhos, eles são direcionados padrão ao stderr, então você precisa redirecioná-los. Por exemplo:
fonte
Ele
wget
grava sua saída emstderr
nãostdout
, então é necessário redirecionar ostderr
parastdout
:fonte