我跑
卷曲-X帖子'http://172.24.0.40:4243/build?t=basejava8‘
得到卷曲输出
{“流”:“步骤0:从phusion/cache映像:0.9.16\n”}{“流”:“--\u003E 5a14c1498ff4\n"} {”流“:”步骤1: CMD /sbin/my_init\n"} {“流”:--\u003E使用高速缓存\n“流”:--\u003E 9ca43c73f936\n"}“{”流“{”流“){”流“}{”流“:”步骤2:运行-获取更新\u0026\u0026“ DEBIAN_FRONTEND=noninteractive apt-获取安装-y ca-证书\n“流”:“-\u003E使用缓存\n”}{“流”:“-\u003E b5dcbe0f1c27\n"} {”流“:”步骤3:运行回波oracle-java 8-安装程序共享/接受-oracle-v1-1选择真正的debconf set- select \u0026添加- -y ppa:webupd8team/java \u0026\u0026 \u0026-获取更新\u0026\u0026 \u0026 apt-获取安装-y oracle-java8 8-installer \u0026\u0026 apt-获取安装-y oracle-java8 8-set-默认\u0026\u0026 rm -rf /var/lib/apt/list/* \u0026\u0026 rm -rf /var/cache/oracle-jdk8 8-installer\n“}{”流“:”-\u003E使用缓存\“}{”}{“流”{“流”:-\u003E4ea2e3796an“}”{“流”“}”。:ENV JAVA_HOME /usr/lib/jvm/java-8-oracle\n"} {“流”:“-\u003E使用缓存\n”}{“流”:“-\u003E 5d8bfb398fb6\n"} {”流“}{”流:“成功构建了5d8bfb398fb6\n"} }
是否有可能避免输出中的括号和“流”,即通过curl参数作为纯文本?
发布于 2015-08-06 10:12:48
您的问题与curl
无关:您看到的是服务(在本例中为Docker)实际提供了什么。
尽管您可以尝试使用regex提取所需的值,但我建议您使用JSON解析器来解析每一行。在您的示例中,每行看起来都像{"stream":"..."}
,但是Docker文档中的一个示例显示错误也表示为JSON流行:
HTTP/1.1 200 OK
Content-Type: application/json
{"stream": "Step 1..."}
{"stream": "..."}
{"error": "Error...", "errorDetail": {"code": 123, "message": "Error..."}}
在命令行上执行JSON解析的一个有用工具是jq。如果只想要每一行的-r
键的原始( stream
)值,可以执行如下操作:
curl -X POST '...' | jq -r .stream
这将忽略输入中的非流行(打印空行)。
https://stackoverflow.com/questions/31852704
复制相似问题