Як передавати завантажений файл на стандартний вихід у 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
Оффтопік, але я використовував рись у деяких моїх сценаріях, щоб автоматично розібрати html для мене, коли мені потрібен вміст сторінки та не хвилював розмітку. Це чудово для цього
Метт Сіммонс

Дійсно, і рись, і w3m мають опцію -dump. Я віддаю перевагу w3m за його підтримку таблиці та кадру.
Девід Пашлі

0

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


FWIW, Mac OS має curl (не wget), і я вважаю, що інші BSD так само роблять. Як і багато вбудованих * nix систем, якими я користувався. Не впевнений, чи Perl більше поширений, ніж завиток.
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.