Как передать загруженный файл на стандартный вывод в bash?


31

Как можно передать wgetзагруженный файл? Если нет, какие альтернативы мне следует использовать?

Ответы:


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

11
-O / dev / null необходим только в том случае, если вы действительно не заботитесь об ошибках, так как без них ошибки будут записываться в stderr (в то время как файл записывается в stdout).
Грег Хьюгилл

правильно. или вы можете проверить коды ошибок ... до тех пор, пока вы передаете вывод в файл, а не другую команду.
PQD

AFAIK, нет необходимости -o / dev / null, потому что это все равно идет в stderr.
Милан Бабушков

10
Вы можете использовать, wget -qO- $URLчтобы упростить вещи.
Оли

wget -qO- $URLработает, если вы используете Wget на Windows
Chris S

35

Или используйте curl, где это поведение по умолчанию.

curl http://www.google.com/

http://curl.haxx.se/


4
-sне помешает сделать это тихо, особенно с небольшим файлом.
Acumenus

6

Есть и другие методы, которые вы можете использовать вместо wget и curl:

Вы можете использовать рысь:

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

w3m:

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

и libwww-perl поставляется с удобной программой под названием GET (также есть HEAD и POST, которые делают то, что вы думаете, они делают)

# GET http://www.google.com

1
Оффтоп, но я использовал lynx в некоторых своих скриптах для автоматического анализа html для меня всякий раз, когда мне нужно содержимое страницы, и мне не нужна разметка. Это отлично подходит для этого
Мэтт Симмонс

действительно, и lynx, и w3m имеют опцию -dump. Я предпочитаю w3m для поддержки таблиц и фреймов.
Дэвид Пашли

0

Просто чтобы добавить еще один вариант: я часто использую для этого lwp-запрос из libwww-perl. По умолчанию он выводится в STDOUT и более вероятно, чем curl, будет установлен в системах, которые я использую (ваша ситуация может отличаться).


FWIW, в Mac OS есть curl (не wget), и я считаю, что другие BSD тоже. Как и многие встроенные * nix системы, которые я использовал. Не уверен, что Perl встречается чаще, чем curl.
Wyatt8740

0

Вот как я это сделал:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.