use*_*158 4 bash shell-script json
我有一个 JSON 文件,正在读入 bash 脚本,并且想在每个键前面添加一个固定字符串。
json_文件:
{"key_1": 12, "key_2": 34, "key_3": 56}
Run Code Online (Sandbox Code Playgroud)
通过将字符串添加到每个键来更新此数据的最简洁方法是什么x_
?
例如,
{"x_key_1": 12, "x_key_2": 34, "x_key_3": 56}
Run Code Online (Sandbox Code Playgroud)
您可以使用 JSON 解析器来jq
解析您的 JSON 文件。这样做的优点是,无论其形状如何,都可以处理有效的 JSON:
jq 'with_entries(.key |= "x_" + .)' <file.json\n
Run Code Online (Sandbox Code Playgroud)\n输入
\n{"key_1": 12, "key_2": 34, "key_3": 56}\n
Run Code Online (Sandbox Code Playgroud)\n输出
\n{\n "x_key_1": 12,\n "x_key_2": 34,\n "x_key_3": 56\n}\n
Run Code Online (Sandbox Code Playgroud)\n您可以使用以下命令将 JSON 保留在一行中jq -c \xe2\x80\xa6
:
{"x_key_1":12,"x_key_2":34,"x_key_3":56}\n
Run Code Online (Sandbox Code Playgroud)\n该解决方案在文档中作为示例显示jq
- 查看man jq
并搜索with_entries
- 但由于它是参考文档,因此很难找到您不知道如何描述的内容。