@csv 格式化而不为仅包含数字的列表引用整行?
@csv formatting without quoting entire line for lists containing only numbers?
当尝试使用 csv 格式输出列表时,我最终在整行周围加上了引号。有没有办法摆脱那些只使用 jq
而不求助于其他工具的人?示例如下:
我有一个 json 字符串:
{"stat": {"foo": 1.2, "bar": 3.1}}
我对其应用以下 jq 命令:
$ jq '.stat | [.foo, .bar] | @csv' test.json
生成的标准输出将是:
"1.2,3.1"
现在,我可以通过组合应用 rev
和 cut
来解决这个问题,但如果可能的话,我想跳过这一步:
rev | cut -c2- | rev | cut -c2-
只需为 "raw output" 使用 -r
命令行选项。如:jq -r ...
p.s。如果您发现自己不得不从行首和行尾删除引号,也可以使用 jq 来完成。使用 jq 1.4 或更高版本:
jq -R -r '.[1:-1]'
当尝试使用 csv 格式输出列表时,我最终在整行周围加上了引号。有没有办法摆脱那些只使用 jq
而不求助于其他工具的人?示例如下:
我有一个 json 字符串:
{"stat": {"foo": 1.2, "bar": 3.1}}
我对其应用以下 jq 命令:
$ jq '.stat | [.foo, .bar] | @csv' test.json
生成的标准输出将是:
"1.2,3.1"
现在,我可以通过组合应用 rev
和 cut
来解决这个问题,但如果可能的话,我想跳过这一步:
rev | cut -c2- | rev | cut -c2-
只需为 "raw output" 使用 -r
命令行选项。如:jq -r ...
p.s。如果您发现自己不得不从行首和行尾删除引号,也可以使用 jq 来完成。使用 jq 1.4 或更高版本:
jq -R -r '.[1:-1]'