如何从 UNIX shell 脚本中的文件读取和计数 XML 记录

San*_*tra 4 unix

我在 XML 标签中有记录,我想得到它们的计数。在下面,例如<record> </record>标签内的内容应计为 1。因此对于下面的示例,计数应为 2:

<record>
    hi
    hello
</record>

<record>
    follow
</record>
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我使用 Unix Shell 脚本吗?

小智 5

假设您的 XML 位于名为 file.xml 的文件中,您的解决方案将是

grep "<record>" file.xml  | wc -l
Run Code Online (Sandbox Code Playgroud)


Raj*_*aju 4

即使文件内容是单行(不是漂亮的 XML 格式),这也可以工作。

perl -nle "print s/<record>//g" < filename | awk '{total += $1} END {print total}'
Run Code Online (Sandbox Code Playgroud)