使用 grep、sed 或 awk 获取 JSON 值

Get JSON value using grep, sed, or awk

我有一个 JSON 配置文件,我正尝试通过以下 grep 命令从中提取值:

grep -oP '"private_key": "\K[^\"]*' config.json

如您所见,我有可用的正则表达式,但是旧版本的正则表达式不支持 \K 语法。例如,如果您将风格切换为 Python 或 ECMAscript,则正则表达式将不再有效。我想知道是否有其他语法可以达到相同的结果。

https://regex101.com/r/jfGwNT/1

此外,如果有人能为这个问题想出更好的名字,请告诉我!

您可以像这样使用 sed 而不是 gnu-grep

sed -nE 's/^ *"private_key": "([^"]+)".*//p' file.json

-----BEGIN PRIVATE KEY-----\nMyKey\n-----END PRIVATE KEY-----\n