使用bash - 如何将substring放在文件的参数中

时间:2017-11-22 13:52:31

标签: bash sed

我有一个名为result的文件,如下所示:

{"id":10722,"type":"BRANCH","value":"refs/heads/master","branch":{"id":"refs/heads/master","displayId":"master","latestChangeset":"d53ae5dbaa5e4b2f7b007e94ee91ae2de7e600b6","isDefault":true}}

使用bash,如何将" id:" (在此示例中为10722)中的子字符串放在参数内? (例如 param = 10722)

我需要记住,这个文件一直在变化,因此计算字符不是我想要使用的。

1 个答案:

答案 0 :(得分:1)

这看起来像JSON数据。最好像这样使用jq

jq '.id' file.json
10722

如果jq不可用,请使用gnu grep

grep -oP '"id":\K\d+' file.json
10722