18 votos

Cómo combinar wget y grep

Tengo una URL de página html y quiero grep. ¿Cómo puedo hacerlo en wget someArgs | grep keyword ?

Mi primera idea fue wget -q -O - url | grep keyword , pero la salida de wget omite grep y surge en el terminal en su forma original.

14voto

Charlie Hargood Puntos 26

Mantener esto alrededor por el bien de la integridad.

Tu ejemplo debería funcionar. La sintaxis es correcta, y aquí hay un screencast que acabo de tomar para demostrarlo , con un buen GNU wget 1.13.4.

wget -q

Así que asuma que su patrón es incorrecto y some-url simplemente generará todo lo que obtuvo.

14voto

Luke Bayes Puntos 2319

La forma más fácil es usar curl con la opción -s para silencio:

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

4voto

hs.chandra Puntos 187

Si está buscando encabezados grep o pipe, están dirigidos de manera estándar a stderr, por lo que debe redirigirlos. P.ej:

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

3voto

Leben Gleben Puntos 45

Este error se corrigió en la v1.12.1 en otra versión . Actualmente utilizo v1.15 y funciona como se esperaba.

0voto

vstepaniuk Puntos 135

El wget escribe su salida en stderr no en stdout , por lo que es necesario redirigir el stderr a stdout :

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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: