我的目标:通过其内容的JSON文件的命令替换文件名sed
或awk
或其他...
一个例子:
file.json
)
...
"value": "{{<test/myData.txt>}}"
...
Run Code Online (Sandbox Code Playgroud)
其中value
键位于.tests[].commands[].value
在文档结构。test/myData.txt
)
blabla
blabla
Run Code Online (Sandbox Code Playgroud)
result.json
)
...
"value": "blabla\nblabla"
...
Run Code Online (Sandbox Code Playgroud)
我的问题:
我试过sed
:
sed -E "s/\{\{<([^>]+)>\}\}/{r \1}/" file.json > result.json
Run Code Online (Sandbox Code Playgroud)
但是文件没有被读取,我有这个结果:
...
"value": "{r test/myData.txt}"
...
Run Code Online (Sandbox Code Playgroud)
解决我的问题的想法sed
(或更好的想法)?
解决方案:
非常感谢 !所有的答案都很有帮助,但我想使用命令而不在 GitHub 操作的默认环境中安装任何新工具。所以我在 sed 和 jq 之间进行了选择,因为它们是默认安装的。sed 不包括 json 文档中原始字符串的自动转换,所以逻辑上我更喜欢使用 jq。
我使用jq play来调试 jq 脚本。
这是最终的脚本:
...
"value": "{{<test/myData.txt>}}"
... …
Run Code Online (Sandbox Code Playgroud)