Bagaimana cara menyalurkan file yang diunduh ke output standar di bash?

31

Bagaimana mungkin mem-pipe wgetfile yang diunduh? Jika bukan alternatif apa yang harus saya gunakan?

Alex
sumber

Jawaban:

47
wget -O - -o /dev/null  http://google.com
pQd
sumber
11
-O / dev / null hanya diperlukan jika Anda benar-benar tidak peduli dengan kesalahan, karena tanpa itu kesalahan akan ditulis ke stderr (saat file ditulis ke stdout).
Greg Hewgill
kanan. atau Anda dapat memeriksa kode kesalahan ... selama Anda mengirim output ke file bukan perintah lain.
pQd
AFAIK, tidak perlu -o / dev / null karena itu berlaku untuk stderr.
Milan Babuškov
10
Anda dapat menggunakannya wget -qO- $URLuntuk menyederhanakan berbagai hal.
Oli
wget -qO- $URLberfungsi jika Anda menggunakan Wget pada Windows
Chris S
35

Atau gunakan curl, yang merupakan perilaku default.

curl http://www.google.com/

http://curl.haxx.se/

GodEater
sumber
4
-stidak ada ruginya untuk membuatnya diam, terutama dengan file kecil.
Acumenus
6

Ada metode lain yang bisa Anda gunakan alih-alih wget dan curl:

Anda dapat menggunakan lynx:

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

w3m:

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

dan libwww-perl dilengkapi dengan program praktis yang disebut GET (juga memiliki HEAD dan POST, yang melakukan apa yang Anda pikir mereka lakukan)

# GET http://www.google.com
David Pashley
sumber
1
Offtopic, tetapi saya telah menggunakan lynx di beberapa skrip saya untuk mengurai html bagi saya secara otomatis setiap kali saya membutuhkan konten halaman dan tidak peduli dengan markup. Ini bagus untuk itu
Matt Simmons
memang, baik lynx dan w3m memiliki opsi -dump. Saya lebih suka w3m untuk dukungan tabel dan bingkai.
David Pashley
0

Hanya untuk menambahkan opsi lain: Saya sering menggunakan lwp-request, dari libwww-perl, untuk ini. Ini output ke STDOUT secara default dan lebih mungkin daripada curl untuk diinstal pada sistem yang saya gunakan (situasi Anda bervariasi).

Jeff Tang
sumber
FWIW, Mac OS memiliki curl (tidak wget) dan saya percaya BSD lain juga. Seperti halnya banyak sistem embedded * nix yang saya gunakan. Tidak yakin apakah Perl lebih umum daripada ikal.
Wyatt8740
0

Beginilah cara saya melakukannya:

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

Saya sarankan untuk menggunakan Aria2 . Ini pengunduh yang tangguh.

aria2c http://google.com.tw
Phil Huang
sumber