尝试从XML格式的非常大的.dat文件中提取信息。它最初是PRTG设置的配置文件,但我们正在尝试过渡到Nagios。问题是我们有超过20k的传感器,需要手动移植它们,或者,如果可能的话,通过创建一个可以提取信息的脚本。不幸的是,我仍然非常擅长bash和编码,并且很难获得成功运行的脚本。
我目前的脚本来自unix.stackexchange的Kusalananda的精彩帮助,但我使用的应用程序是xmlstarlet,它提供了许多问题/错误。我已经在github页面here中记录了错误。原始脚本HERE。希望有人可以帮我找到一种方法来提取.dat文件所需的信息。需要的例子如下。我需要的信息是主机,地址和名称。
<inherited/>
</flags>
<cell>
0
</cell>
</force32>
<host>
192.169.1.1
</host>
<httpproxy>
1
</httpproxy>
<ignoreoverflow>
<flags>
<inherited/>
</flags>
<cell>
0
</cell>
</ignoreoverflow>
<ignorezero>
<flags>
<inherited/>
</flags>
<cell>
**注意,主文件几乎是100k行。
还被告知此信息可能会有所帮助。
<?xml version="1.0" encoding="UTF-8"?>
<root version="15" oct="PRTG Network Monitor 17.2.31.1917 x64"
saved="5/12/2017 4:36:26 PM" max="184692" guid="{****}" treeversion="0"
created="2009-10-02-19-22-11"
trial="****">
<statistics time="12-05-2017 16:09:19">