Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read & count XML records from a file in UNIX shell Script

Tags:

unix

I have records inside the XML tags, and I want to get the count of them. In below, e.g. the contents inside the <record> </record> tag should be counted as 1. So for the example below, the count should be 2:

<record>
    hi
    hello
</record>

<record>
    follow
</record>

Could somebody help me with the Unix Shell Script?

like image 897
Sanjay malhotra Avatar asked Jan 06 '23 09:01

Sanjay malhotra


2 Answers

Assuming your XML is in a file named file.xml, your solution would be

grep "<record>" file.xml  | wc -l
like image 99
Jeff Avatar answered Apr 25 '23 07:04

Jeff


This will work even if the file content is in single line(not in pretty XML format).

perl -nle "print s/<record>//g" < filename | awk '{total += $1} END {print total}'
like image 26
Raju Avatar answered Apr 25 '23 05:04

Raju