使用 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
我有一个 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