Shell script parse xml in linux

How to use shell script parse xml file. In this tutorial, I will use grep command, awk command and sed command Reading xml file extracting value in linux.

For example xml person file as below

<person>
  <sex>Male</sex>
  <firstname>Huu</firstname>
  <lastname>Phan</lastname>
  <sex>female</sex>
  <firstname>Miranda</firstname>
  <lastname>Kerr</lastname>
</person>
How to extracting value Huu and Miranda  of <firstname> </firstname>

Use grep command

[huupv@huupv huuphan.com]$ grep -oP '(?<=<firstname>).*(?=</firstname)' person.xml

Use awk command

[huupv@huupv huuphan.com]$ awk -F "[><]" '/firstname/{print $3}' person.xml

Use sed command

[huupv@huupv huuphan.com]$ sed -n '/firstname/{s/.*<firstname>//;s/<\/firstname.*//;p;}' person.xml 
The result, Shell script parse xml in linux


Comments

Popular posts from this blog

Bash script list all IP addresses connected to Server with Country Information

zimbra some services are not running [Solve problem]

Whitelist and Blacklist domain in zimbra 8.6