Regex grep在curl命令输出的两个单词之间
我试图从下面的curl输出中得到“81”Regex grep在curl命令输出的两个单词之间,regex,Regex,我试图从下面的curl输出中得到“81” {“testing”:false,“locked”:true,“number”:81,“active”:true,“service_id”:“4bgnay1zfm8wblc49lcbq”,“staging”:false,“created_at”:“2018-11-13T04:18:49Z”,“deleted_at”:null,“comment”:“updated_at”:“2018-11-13T04:21:33Z”,“deployed”:false}”
{“testing”:false,“locked”:true,“number”:81,“active”:true,“service_id”:“4bgnay1zfm8wblc49lcbq”,“staging”:false,“created_at”:“2018-11-13T04:18:49Z”,“deleted_at”:null,“comment”:“updated_at”:“2018-11-13T04:21:33Z”,“deployed”:false}”
我试过sed-e的/number\(.*\)active/\1/'
但它相当抑制这两个词
请帮帮我。。我是一个新手这是JSON输出,不要试图用正则表达式解析它。相反,使用Python JSON库,这是大多数系统的标准配置,这些系统也有
grep
您可能需要一个类似于下面列出的解决方案:
例如:
$ echo '{"testing":false, "locked":true,"number":81,"active":true,"service_id":"4bGnyAY1zFM8WBLc49LcbQ","staging":false,"created_at":"2018-11-13T04:18:49Z","deleted_at":null,"comment":"","updated_at":"2018-11-13T04:21:33Z","deployed":false}' | python -c 'import sys, json; print(json.load(sys.stdin))["number"]'
81
(用curl
命令替换此处的“echo”
可选的,如果你可以考虑一个程序,比如“代码> JQ,如果它符合你的用例:
高兴地听到它工作,考虑接受它作为答案。