Jak przesłać pobrany plik do standardowego wyjścia w bash?

31

Jak można odpompować wgetpobrany plik? Jeśli nie, jakich alternatyw powinienem użyć?

Alex
źródło

Odpowiedzi:

47
wget -O - -o /dev/null  http://google.com
pQd
źródło
11
Opcja -o / dev / null jest konieczna tylko wtedy, gdy naprawdę nie przejmujesz się błędami, ponieważ bez tego błędy zostaną zapisane w stderr (podczas gdy plik jest zapisywany w stdout).
Greg Hewgill
dobrze. lub możesz sprawdzić kody błędów ... tak długo, jak wyprowadzasz dane wyjściowe do pliku, a nie inne polecenie.
pQd
AFAIK, nie ma potrzeby -o / dev / null, ponieważ i tak to idzie do stderr.
Milan Babuškov
10
Możesz użyć, wget -qO- $URLaby uprościć rzeczy.
Oli
wget -qO- $URLdziała, jeśli używasz Wget na Windowsie
Chris S
35

Lub użyj curl, gdzie jest to zachowanie domyślne.

curl http://www.google.com/

http://curl.haxx.se/

GodEater
źródło
4
-snie zaszkodzi uciszyć, szczególnie przy małym pliku.
Acumenus
6

Istnieją inne metody, których można użyć zamiast wget i curl:

Możesz użyć rysia:

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

w3m:

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

a libwww-perl zawiera przydatny program o nazwie GET (także HEAD i POST, które robią to, co według ciebie robią)

# GET http://www.google.com
David Pashley
źródło
1
Offtopic, ale użyłem rysia w niektórych moich skryptach, aby automatycznie parsować dla mnie html, ilekroć potrzebowałem zawartości strony i nie przejmowałem się znacznikami. To świetnie
Matt Simmons,
w rzeczywistości zarówno Lynx, jak i w3m mają opcję -dump. Wolę w3m ze względu na obsługę tabeli i ramki.
David Pashley
0

Aby dodać inną opcję: często używam do tego żądania lwp z libwww-perl. Domyślnie wyświetla dane wyjściowe do STDOUT i jest bardziej prawdopodobne, że zostaną zainstalowane w systemach, których używam (Twoja sytuacja może się różnić).

Jeff Tang
źródło
FWIW, Mac OS ma curl (nie wget) i uważam, że inne BSD też. Podobnie jak wiele wbudowanych systemów * nix, z których korzystałem. Nie jestem pewien, czy Perl jest bardziej powszechny niż zwijanie.
Wyatt8740
0

Oto jak to zrobiłem:

URL='http://wordpress.org/extend/plugins/akismet/'
curl -s "$URL" | egrep -o "http://downloads.wordpress.org/plugin/[^']+" | xargs wget -qO-
zrozumiałem
źródło
0

Sugeruję użycie Aria2 . To potężny downloader.

aria2c http://google.com.tw
Phil Huang
źródło