Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图从大型XML中提取_Xml_Bash - Fatal编程技术网

试图从大型XML中提取

试图从大型XML中提取,xml,bash,Xml,Bash,试图从XML格式的非常大的.dat文件中提取信息。它最初是PRTG设置的配置文件,但我们正在尝试转换到Nagios。问题是我们有超过20k的传感器,需要手动或(如果可能的话)创建一个可以提取信息的脚本来移植这些传感器。不幸的是,我对bash还是一个新手,通常都是编写代码的,并且很难运行一个成功的脚本 我当前的脚本来自unix.stackexchange中Kusalanda的出色帮助,但我使用的应用程序是xmlstarlet,它给出了一些问题/错误。我已经在github页面中记录了错误。原稿。希望

试图从XML格式的非常大的.dat文件中提取信息。它最初是PRTG设置的配置文件,但我们正在尝试转换到Nagios。问题是我们有超过20k的传感器,需要手动或(如果可能的话)创建一个可以提取信息的脚本来移植这些传感器。不幸的是,我对bash还是一个新手,通常都是编写代码的,并且很难运行一个成功的脚本

我当前的脚本来自unix.stackexchange中Kusalanda的出色帮助,但我使用的应用程序是xmlstarlet,它给出了一些问题/错误。我已经在github页面中记录了错误。原稿。希望有人能帮我找到从.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>

0
192.169.1.1
1.
0
**注意,主文件几乎有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">


将您的xml文件上传到某个地方,并在此处添加链接。问题是其中包含私有数据,这就是为什么我不能只共享它的原因:/Show example with a file。这是我可以给出的示例。当我在你发给我的网站上运行它时,它只能确定它不是一个HTML文件。如果文件格式与示例相同,则可以执行
grep-A4''file.dat | grep-v'name\| host'