我必须验证 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