slurp 选项的 jq 等价物是什么?

cev*_*ing 5 collect jq

这会生成一个数组列表:

$ echo -e "a 1\nb 2" | jq -R 'split(" ")'
[
  "a",
  "1"
]
[
  "b",
  "2"
]
Run Code Online (Sandbox Code Playgroud)

当我吸食输入时,我得到一个数组:

$ echo -e "a 1\nb 2" | jq -R 'split(" ")' | jq -s .
[
  [
    "a",
    "1"
  ],
  [
    "b",
    "2"
  ]
]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将列表转换为数组而不使用它时,我得到一个数组列表而不是单个数组:

$ echo -e "a 1\nb 2" | jq -R '[split(" ")]'
[
  [
    "a",
    "1"
  ]
]
[
  [
    "b",
    "2"
  ]
]
Run Code Online (Sandbox Code Playgroud)

是否可以在split不将结果通过管道传输到 的新实例中的情况下获取 的结果jq

pea*_*eak 4

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

$ echo -e "a 1\nb 2" | jq -nR '[inputs|split(" ")]' 
[
  [
    "a",
    "1"
  ],
  [
    "b",
    "2"
  ]
]
Run Code Online (Sandbox Code Playgroud)