从一行中提取多个字符串

Iok*_*kan 2 linux bash

我有以下json(只有一个包含数百个ID的更长版本),它是一个单行文档:

{"jsonrpc":"2.0","result":[{"templateid":"10001"},{"templateid":"10047"},{"templateid":"10050"}],"id":2}
Run Code Online (Sandbox Code Playgroud)

我想提取ID并将它们写入文件,以便它看起来像这样:

10001
10047
10050
Run Code Online (Sandbox Code Playgroud)

我自己也搞清楚了.感谢任何帮助.顺便说一下,这是CentOS.

kev*_*kev 7

你可以使用jq:

jq -r '.result[].templateid' input.json
Run Code Online (Sandbox Code Playgroud)

这是一个非常好的工具.请下载二进制文件chmod +x jq,阅读手册.

  • 或者,您可以使用`jq'.result [].templateid | tonumber'` (2认同)