将 helm show 图表传递给 jq 时出现解析错误

问题描述 投票:0回答:1

嗨,当我执行以下命令时,我收到解析错误

helm show chart https://artifactory.vvr.com/artifactory/helm-release-local/jaeger/jaeger-assembly/jaeger-assembly-1.0.0.tgz -n test | jq .

parse error: Invalid numeric literal at line 1, column 11

helm show 命令的输出如下

apiVersion: v1
appVersion: 1.0.0
dependencies:
- name: jaeger
  repository: https://dependencies.vvr.com/artifactory/helm//jaegertracing
  version: 0.44.0
description: aeger Assembly
name: jaeger-assembly
version: 1.0.0

知道为什么它显示解析错误以及如何修复,以便在我需要检索版本属性时可以将 helm show 图表输出解析为 json

yaml jq
1个回答
0
投票

jq 是一个轻量级且灵活的命令行 JSON 处理器,类似于 sed、awk、grep 以及用于 JSON 数据的朋友。

虽然 YAML 是 JSON 的超集(任何 JSON 文档也是有效的 YAML 文档),但反之则不然。这意味着您无法使用 jq 处理通用 YAML 文件,但您需要一个可以处理 YAML 的工具。其中一个工具是 yq:

一个轻量级、可移植的命令行 YAML、JSON 和 XML 处理器。 yq 使用类似 jq 的语法,但适用于 yaml 文件以及 json、xml、properties、csv 和 tsv。

由于它使用类似 jq 的语法,因此您可以简单地交换命令:

helm show chart … -n test | yq .
© www.soinside.com 2019 - 2024. All rights reserved.