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ć?

Odpowiedzi:


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

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


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

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ć).


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-

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.