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

zimbra some services are not running [Solve problem]

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

Zimbra Client host rejected Access denied fixed