文件“sample.json”(JSON):
{
"jsonrpc": "2.0",
"method": "configuration.import",
"params": {
"format": "xml",
"source": "REPLACE_ME_WITH_XMLSOURCE"
},
"auth": "91ea4764dcab42e8317b399c42985792",
"id": 1
}
文件“source.xml”(XML,1 长行,带空格和双引号):
<?xml version="1.0" encoding="UTF-8"?><zabbix_export>...</zabbix_export>
所需结果(以 XML 作为参数值的 JSON):
...
"source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><zabbix_export>...</zabbix_export>"
...
我试图将'source.xml'的内容放入变量并在sed中使用它,但没有成功:
# x=$(cat source.xml)
# sed "s/REPLACE_ME_WITH_XMLSOURCE/$x/" sample.json
sed: -e expression #1, char 80: unknown option to `s'
# sed "s/XMLSOURCE/"$x"/" sample.json
sed: -e expression #1, char 17: unterminated `s' command
# sed "s/XMLSOURCE/"$x"/" sample.json
...
我尝试在变体中使用 sed '/REPLACE_ME_WITH_XMLSOURCE/ r source.xml',但我的 sed-fu 不足以解决它..
我试图用谷歌搜索并在这里搜索,但是..你看到了这个问题..
感谢您的任何建议