gzip 使用 bash 解压缩 json 文件中的 属性
gzip decompress a property in a json file using bash
我必须验证 json 文件中 属性 的 base64 编码和 gzip 内容是否与使用 bash.
的原始内容相同
我已经能够使用 jq:
提取 属性
cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d'
我试过使用 gzip
来解压这个,使用 @gzipd
过滤器
jq: error (at :798): gzipd is not a valid format
并将值传递给 gunzip
命令:
gunzip: unknown compression format
我尝试将内容写入名为 test.gz 的文件,然后使用 gunzip
.
cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d' > test.gz
gunzip: test.gz: not in gzip format
来自#1931:
Let $B
be an arbitrary base64 string, then $B | @base64d
is undefined if base64 -D <<< $B
is not a valid UTF-8 string.
下面是一个快速解决方法;输出原始 base64 字符串并使用 base64
实用程序对其进行解码:
jq -r '.Attachment[] | .Contents["@Value"]' src/my-file.json | base64 -d | gunzip
我必须验证 json 文件中 属性 的 base64 编码和 gzip 内容是否与使用 bash.
的原始内容相同我已经能够使用 jq:
提取 属性cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d'
我试过使用 gzip
来解压这个,使用 @gzipd
过滤器
jq: error (at :798): gzipd is not a valid format
并将值传递给 gunzip
命令:
gunzip: unknown compression format
我尝试将内容写入名为 test.gz 的文件,然后使用 gunzip
.
cat src/my-file.json | jq '.Attachment[] | .Contents["@Value"] | @base64d' > test.gz
gunzip: test.gz: not in gzip format
来自#1931:
Let
$B
be an arbitrary base64 string, then$B | @base64d
is undefined ifbase64 -D <<< $B
is not a valid UTF-8 string.
下面是一个快速解决方法;输出原始 base64 字符串并使用 base64
实用程序对其进行解码:
jq -r '.Attachment[] | .Contents["@Value"]' src/my-file.json | base64 -d | gunzip