我想读取一个文件并将整个内容放入一个被转义为在json对象中使用的字符串。
我想在命令行/终端(linux)上执行此操作。
有什么想法吗? THX提前!
答案 0 :(得分:5)
对于对我的解决方案感兴趣的所有人(阅读&#34;更新1&#34;): <击> 撞击>
<击>jq -n \
--arg content "$(cat theFile.txt)" \
'{ theContent : $content }' \
| \
jq '.theContent'
更新0
Jeff Mercado为第一部分提供了更紧凑的解决方案 - 所以我在我的代码中对其进行了如下调整:
jq -Rs \
'{ theContent: . }' \
theFile.txt \
| \
jq '.theContent'
击> <击> 撞击>
更新1
现在Jeff Mercado为我正在寻找的内容提供了更紧凑的解决方案:
jq -Rs '.' theFile.txt
THX用于阅读; - )
答案 1 :(得分:2)
更直接的方法是使用原始输入(-R
)和slurp(-s
)参数将整个输入作为单个字符串读取。然后将该输入存储在适当的属性中。您不需要将其作为单独的参数传递。
$ jq -Rs '{ theContent: . }' theFile.txt