¿Cómo canalizo un archivo descargado a la salida estándar en bash?


31

¿Cómo es posible canalizar wgetel archivo descargado? Si no, ¿qué alternativas debo usar?

Respuestas:


47
wget -O - -o /dev/null  http://google.com

11
El -o / dev / null solo es necesario si realmente no te importan los errores, ya que sin eso los errores se escribirán en stderr (mientras que el archivo se escribe en stdout).
— Greg Hewgill

Derecha. o puede verificar los códigos de error ... siempre que canalice la salida a un archivo y no a otro comando
— pQd

AFAIK, no es necesario -o / dev / null porque eso va a stderr de todos modos.
— Milan Babuškov

10
Puedes usar wget -qO- $URLpara simplificar las cosas.
— Oli

wget -qO- $URLfunciona si estás utilizando Wget en Windows
— Chris S


6

Hay otros métodos que puede usar en lugar de wget y curl:

Puedes usar lynx:

# lynx -source http://www.google.com

w3m:

# w3m -dump_source http://www.google.com

y libwww-perl viene con un práctico programa llamado GET (también tiene HEAD y POST, que hacen lo que crees que hacen)

# GET http://www.google.com

1
Offtopic, pero he usado lynx en algunos de mis scripts para analizar html automáticamente cada vez que necesito el contenido de una página y no me importa el marcado. Es muy bueno para que
— Matt Simmons

de hecho, tanto lynx como w3m tienen una opción -dump. Prefiero w3m por su soporte de mesa y marco.
— David Pashley

0

Solo para agregar otra opción: a menudo uso lwp-request, de libwww-perl, para esto. Sale a STDOUT de forma predeterminada y es más probable que se instale curl en los sistemas que uso (su situación puede variar).


FWIW, Mac OS tiene curl (no wget) y creo que otros BSD también lo hacen. Al igual que muchos sistemas incrustados * nix que he usado. No estoy seguro si Perl es más común que el rizo.
— Wyatt8740

0

Así es como lo hice:

URL='http://wordpress.org/extend/plugins/akismet/'
curl -s "$URL" | egrep -o "http://downloads.wordpress.org/plugin/[^']+" | xargs wget -qO-

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.