Tengo una URL de página html y quiero aprovecharla. ¿Cómo puedo hacerlo wget someArgs | grep keyword
?
Mi primera idea fue wget -q -O - url | grep keyword
, pero la salida de wget omite grep y surge en la terminal en su forma original.
Tengo una URL de página html y quiero aprovecharla. ¿Cómo puedo hacerlo wget someArgs | grep keyword
?
Mi primera idea fue wget -q -O - url | grep keyword
, pero la salida de wget omite grep y surge en la terminal en su forma original.
Respuestas:
La forma más fácil es usar curl
con la opción -s
de silencio:
curl -s http://somepage.com | grep whatever
curl
ing http://superuser.com/questions/431581
. Por alguna razón, lo probé con esta URL en particular y no obtuve salida. No sé lo que me estoy perdiendo.
-L
interruptor.
Mantener esto por el bien de la integridad.
Tu ejemplo debería funcionar realmente. La sintaxis es correcta, y aquí hay un screencast que acabo de tomar para demostrarlo , con una buena wget
versión anterior de GNU 1.13.4.
wget -q some-url -O - | grep something
Así que suponga que su patrón es incorrecto y grep
solo mostrará todo lo que obtuvo.
-q
, no hay mensaje de error.
Este error estaba en v1.12.1 corregido en otra versión . Actualmente uso v1.15 y funciona como se esperaba.
Si está buscando grep o encabezados de tubería, 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
El wget
escribe su salida para stderr
no hacerlo stdout
, por lo que uno debe redirigir el stderr
a stdout
:
wget -q -O - url 2&>1 | grep keyword