Bash 使用终端记录/保存数据流

Bash 使用终端记录/保存数据流,bash,save,data-stream,Bash,Save,Data Stream,我希望能够保存使用curl命令返回的数据流。我尝试过使用cat命令,并使用curl命令对其进行管道处理,但是我做得不对。 我当前使用的代码是: cat > file.txt | curl http://datastream.com/data 任何帮助都将不胜感激。请尝试: curl http://datastream.com/data > output_file.txt 那么,您正在使用“curl”收集数据,并希望捕获其输出 curl http://example.com/dat

我希望能够保存使用curl命令返回的数据流。我尝试过使用cat命令,并使用curl命令对其进行管道处理,但是我做得不对。 我当前使用的代码是:

cat > file.txt | curl http://datastream.com/data
任何帮助都将不胜感激。

请尝试:

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

那么,您正在使用“curl”收集数据,并希望捕获其输出

curl http://example.com/data > file.txt
或者,事实上(从以下方面):


真是太棒了!愚蠢的我把事情复杂化了,应该读一下curl的手册页:p谢谢:D heers:D都有用。应该读一下那个人的卷发。非常感谢您的帮助:对于记录,您使用的语法会将
cat
的输出发送到
file.txt
,然后它还会尝试将该输出发送到
curl
的标准输入(但它不能,因为该输出已经发送到该文件)。问题1:
cat
除了从自己的标准输入中读取的内容外,不会产生任何输出,因此它只能坐在那里等待您键入内容。问题2:
curl
无法读取标准输入中的内容。问题3:你没有将
curl
的输出重定向到任何地方,所以它只是被打印到屏幕上。下面的答案很好。不过,我建议您阅读一些关于I/O重定向的内容。下一次可能对你有很大帮助:@David:很好的解释+1。我认为将要发生的是,shell将解析到管道,并设置管道,将“cat”进程的输出连接到管道。然后,“cat”shell进程将执行输出重定向(关闭进程中的管道),因此“curl”将不会获得关于其输入的数据。“猫”会坐在那里等待EOF的输入;同时,“curl”将生成标准输出,而不是文件。与你所描述的非常微小的区别-这是“开放管道;叉关闭管道;打开文件“这和我在你的文件中读到的不完全一样”。@乔纳森:我可以相信。。。对于I/O重定向的内部工作原理,我并不是一位专家。
curl -o file.txt http://example.com/data