2010-06-10 5 views
0

Я хочу, чтобы сохранить поток данных, который я возвращаю, используя команду curl. Я пробовал использовать команду cat и конвейерную команду curl, но я делаю это неправильно. код им в настоящее время используете:Использование терминала для записи/сохранения потока данных

cat > file.txt | curl http://datastream.com/data 

Любая помощь будет оценена.

+2

Для записи, синтаксис, который использовали бы отправить вывод '' cat' к file.txt', и тогда было бы также попробуйте отправить этот вывод на стандартный ввод 'curl' (но он не смог, потому что этот вывод уже поступал в файл). Задача 1: 'cat' не выводит никакого вывода, кроме того, что он читает со своего собственного стандартного ввода, поэтому он просто сидел бы там, ожидая, что вы наберете что-нибудь. Проблема 2: 'curl' не читает, что входит в его стандартный ввод. И проблема 3: вы не перенаправляете вывод 'curl' в любом месте, поэтому он просто печатается на экране. –

+0

Ответы ниже хорошие. Тем не менее, я предлагаю вам немного прочитать о перенаправлении ввода-вывода. Это может помочь вам в следующий раз: http://en.wikipedia.org/wiki/Redirection_%28computing%29 – skinp

+0

@ Давид: Хорошее объяснение +1. Я думаю, что произойдет то, что оболочка будет разбираться с трубой и настроить канал с подключенным к нему выходом «cat». Затем процесс оболочки «cat» будет выполнять перенаправление вывода (закрытие трубы в процессе), поэтому «curl» не будет получать никаких данных на своем входе. «Кот» сидел бы там, ожидая EOF на его входе; Между тем, «curl» будет генерировать свой вывод на стандартный вывод, а не на файл. Очень небольшое отличие от того, что вы описали, - это последовательность «открытой трубы»; вилка; закрытая труба; open file ', который не совсем то, что я читаю в вашем. –

ответ

3

Try:

curl http://datastream.com/data > output_file.txt 
+2

Вы также можете использовать 'curl -o output_file.txt http: // datastream.com/data'. – zneak

+0

Блестящий, который сработал! Глупый мне по усложняющим вещам, должен был прочитать справочную страницу для завитки: p Спасибо: D – jonhurlock

3

Таким образом, вы используете 'завиток', чтобы собрать данные, и вы хотите, чтобы захватить свою продукцию?

curl http://example.com/data > file.txt 

Или, на самом деле (из man page):

curl -o file.txt http://example.com/data 
+0

Приветствия: D оба работали. Должен был прочитать человека за завиток. Большое спасибо за вашу помощь: D – jonhurlock

Смежные вопросы