0
我有一个从JSON文件创建的hocon配置。我需要分析以下hocon和提取值使用shell脚本解析hocon文件
样本hocon文件:从这个hocon文件我想提取的VM-ARGS sample.json
nodes=[
{
host=myhostname
name=myhostname
ports {
# debug port
debug=9384
# http Port on which app running
http=9380
# https Port on which app running
https=9381
# JMX port
jmx=9383
}
type=app
vm-args=[
"-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram",
"-XX:+UseConcMarkSweepGC -XX:+UseParNewGC ",
"-XX:+UseTLAB -XX:CMSInitiatingOccupancyFraction=80 -XX:+ExplicitGCInvokesConcurrent -verbose:gc",
"-XX:SurvivorRatio=8 -XX:+UseNUMA -XX:TargetSurvivorRatio=80 -XX:MaxTenuringThreshold=15",
"-Xmx3200m -Xms3200m -XX:NewSize=1664m -XX:MaxNewSize=1664m -Xss1024k",
"-server"
]
}
]
profile=java-dev
resources {
cfg-repository {
branch-name=master
commit-id=HEAD
password=sigma123
url="http://localhost:9890/gitcontainer/demo-cfg"
username=sadmin
}
databases=[
{
connection-string="oracle03:1522:si12c"
name=cm
password=coresmp601
username=coresmp601cm
},
{
connection-string="oracle03:1522:si12c"
name=am
password=coresmp601
username=coresmp601am
}
]
idp {
url="https://sohanb:8097/idp"
}
keystores=[
{
file-location="/home/smp/runtime/ssl"
name=identity
passphrase=kspass
}
]
admin {
password=sigma123
url="http://punws-sohanb.net:9002/"
username=sadmin
}
}
现在。 我已经尝试了不同的bash工具和sed/awk命令,但没有运气。
请建议!
我刚刚编辑了hocon文件,输出现在很糟糕。 – Sohan
现在看起来不错,命令工作正常,最后一件事是我缺少的是用whilespace替换逗号分隔值。因为这我必须作为vmargs传递给其他脚本 – Sohan
我做了简单的sed命令的工作。正常工作谢谢!如果你可以在awk命令的部分内容中找到答案,那将会很棒。 – Sohan