gzip 使用 bash 解压缩 JSON 文件中的属性



我必须验证 json 文件中属性的 base64 编码和 gzip 内容是否与使用 bash 的原始内容相同。

我已经能够使用 jq 提取属性:

cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d'

我尝试使用gzip使用过滤器@gzipd解压缩它

JQ:错误(在:798):gzipd不是有效的格式

并将值管道传输到gunzip命令:

Gunzip:未知压缩格式

我尝试将内容写入名为 test.gz 的文件,然后使用gunzip.

cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d' > test.gz

gunzip:测试.gz:不是 gzip 格式

来自 #1931:

$B为任意 base64 字符串,如果base64 -D <<< $B不是有效的 UTF-8 字符串,则未定义$B | @base64d

下面是一个快速的解决方法;输出原始base64字符串并使用base64实用程序对其进行解码:

jq -r '.Attachment[] | .Contents["@Value"]' src/my-file.json | base64 -d | gunzip

相关内容

  • 没有找到相关文章

最新更新