首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于slurp选项,jq等价于什么?

对于slurp选项,jq等价于什么?
EN

Stack Overflow用户
提问于 2018-07-02 09:06:15
回答 2查看 1.5K关注 0票数 5

这将生成一个数组列表:

代码语言:javascript
复制
$ echo -e "a 1\nb 2" | jq -R 'split(" ")'
[
  "a",
  "1"
]
[
  "b",
  "2"
]

当我关闭输入时,会得到一个数组:

代码语言:javascript
复制
$ echo -e "a 1\nb 2" | jq -R 'split(" ")' | jq -s .
[
  [
    "a",
    "1"
  ],
  [
    "b",
    "2"
  ]
]

但是,当我试图将列表转换为数组时,不需要消耗它,就会得到一个数组列表,而不是一个数组:

代码语言:javascript
复制
$ echo -e "a 1\nb 2" | jq -R '[split(" ")]'
[
  [
    "a",
    "1"
  ]
]
[
  [
    "b",
    "2"
  ]
]

是否可以在不将结果传递到新的split实例的情况下关闭jq的结果?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-02 13:47:07

inputs出现之前,这个问题的答案是“不”。使用inputs和-n命令行选项:

代码语言:javascript
复制
$ echo -e "a 1\nb 2" | jq -nR '[inputs|split(" ")]' 
[
  [
    "a",
    "1"
  ],
  [
    "b",
    "2"
  ]
]
票数 4
EN

Stack Overflow用户

发布于 2018-07-02 09:23:49

split

代码语言:javascript
复制
echo -e "a 1\nb 2" | jq -sR 'split("\n")[:-1] | map(split(" "))'

产出:

代码语言:javascript
复制
[
  [
    "a",
    "1"
  ],
  [
    "b",
    "2"
  ]
]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51132530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档