How to read XML file by using shell script ?

read-xml-file-using-shell-script

read-xml-file-using-shell-script

This was like the first time where I had to write something that will be able to read something out of a XML file using a shell script. Usually I would use Python/Perl as my favorite choices in such a scenario but in this one I really *had* to do all within a shell script.

This is an example of the type of XML file I had to read:

Fixed a new bug
Shoaib Mir
Sun, 02 May 2010
shoaibmir[@]gmail.com

I ended up having a shell script like this:

#!/bin/bash

#Looking for four keywords in here
for key in changelog name date email
do
OUTPT=grep $key log.xml | tr -d '\t' | sed 's/^\([^<].*\)$/\1/'
eval ${key}=echo -ne \""${OUTPT}"\"
done

# Getting the results in four specific arrays
changelogarr=( echo ${changelog} )
namearr=( echo ${name} )
datearr=( echo ${date} )
emailarr=( echo ${email} )

#Print all Arrays
echo ${changelogarr[@]}
echo ${namearr[@]}
echo ${datearr[@]}
echo ${emailarr[@]}

Which gives me an output:

shoaib@shoaib-desktop:~/Desktop$ ./readxml.sh
Fixed a new bug Shoaib Mir
Sun, 02 May 2010
shoaibmir[@]gmail.com

 

Reference:

Reading XML file using shell script

 

Rajesh Kumar

DevOps Architect - Mentor - Coach - Trainer at Cotocus
Email - DevOps@RajeshKumar.xyz
CV - www.RajeshKumar.xyz

Total, Over 15 years of extensive experience working with more than 8 software MNCs for software development/maintenance and production environments involved in continuous improvement and automating entire life cycle using latest devops tools and techniques from design and architecture, through implementation, deployment, and successful operations. Also, helping more than 70 software organizations globally, providing coaching, mentoring and consulting in devops, CICD, cloud, containers and operations.

I help software organization to improve a quality of the software, reducing the software development/operational cost and immediate feedback/monitoring. Have in-depth working experience in following domains with real project implementation.

- Test Driven DevOps Approach
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Continuous Inspection
- Technical Debt Reduction
- Containerization/Micro Services Using Kubernetes & Docker
- Cloud Migration using AWS
- Production Monitoring & Postmortem
Rajesh Kumar