Sponsored Content
Top Forums Shell Programming and Scripting Extract the specific tags in a XML file Post 303005587 by RavinderSingh13 on Friday 20th of October 2017 02:31:42 AM
Old 10-20-2017
Hello Siv51427882,

Could you please try following and let me know if this helps you.
Code:
awk -F"[><]" '/jdbc-data-source/{a=1} a && /<name>.*<\/name>/{print "Param1:-"$3;a="";next} /<url>.*<\/url?/{print "Param2:-"$3;next} /<driver-name>.*<\/driver-name>/{print "Param3:-"$3;next} /<value>.*<\/value>/{print "Prarm4:-"$3;next} /<password-encrypted>.*<\/password-encrypted>/{print "Param5:-"$3;next} /<jndi-name>.*<\/jndi-name>/{print "Param5:-"$3}'  Input_file

Output will be as follows.
Code:
Param1:-DataSourceTest
Param2:-jdbc:oracle:thin:@10.137.181.188:1521/soa12cdb
Param3:-oracle.jdbc.xa.client.OracleXADataSource
Prarm4:-DEV_SOAINFRA
Param5:-{AES}xxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Param5:-jdbc/SOADBDataSource

EDIT: Adding a non-one liner form of solution too now.
Code:
awk -F"[><]" '
/jdbc-data-source/{
  a=1
}
a && /<name>.*<\/name>/{
  print "Param1:-"$3;
  a=""
  next
}
/<url>.*<\/url?/{
  print "Param2:-"$3;
  next
}
/<driver-name>.*<\/driver-name>/{
  print "Param3:-"$3
  next
}
/<value>.*<\/value>/{
  print "Prarm4:-"$3
  next
}
/<password-encrypted>.*<\/password-encrypted>/{
  print "Param5:-"$3
  next
}
/<jndi-name>.*<\/jndi-name>/{
  print "Param5:-"$3
  next
}
'   Input_file

Thanks,
R. Singh

Last edited by Scrutinizer; 10-20-2017 at 03:38 AM..
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extract specific data from xml format file.

Hi, I need to extract the start time value (bold, red font) under the '<LogEvent ID="Timer Start">' tag (black bold) from a file with the following pattern. There are other LogEventIDs listed in the file as well, making it harder for me to extract out the specific start time that I need. . .... (7 Replies)
Discussion started by: 60doses
7 Replies

2. UNIX for Dummies Questions & Answers

Extract a specific number from an XML file based on the start and end tags

Hello People, I have the following contents in an XML file ........... ........... .......... ........... <Details = "Sample Details"> <Name>Bob</Name> <Age>34</Age> <Address>CA</Address> <ContactNumber>1234</ContactNumber> </Details> ........... ............. .............. (4 Replies)
Discussion started by: sushant172
4 Replies

3. Shell Programming and Scripting

bash extract all occurences delimited from <name> and </name> tags from an xml file

I need to extract all text delimited from <name> and </name> tags from an xml file, but not only first occurence. I need to extract all occurences. I've tried with this command: awk -F"<name>|</name>" 'NF>2{print $2}' but it give only first occurence. How can i modify it? (18 Replies)
Discussion started by: ingalex
18 Replies

4. Shell Programming and Scripting

How to add the multiple lines of xml tags before a particular xml tag in a file

Hi All, I'm stuck with adding multiple lines(irrespective of line number) to a file before a particular xml tag. Please help me. <A>testing_Location</A> <value>LA</value> <zone>US</zone> <B>Region</B> <value>Russia</value> <zone>Washington</zone> <C>Country</C>... (0 Replies)
Discussion started by: mjavalkar
0 Replies

5. Shell Programming and Scripting

Shell script to extract data in repeating tags from xml

Hi, I am new to shell scripting. I need to extract data between repeating tags from an xml file and store the data in an array to process it further. <ns1:root xmlns:ns1="http://example.com/config"> <ns1:interface>in1</ns1:interface> <ns1:operation attribute1="true" attribute2="abd"... (2 Replies)
Discussion started by: sailendra
2 Replies

6. Shell Programming and Scripting

Extract a particular xml only from an xml jar file

Hi..need help on how to extract a particular xml file only from an xml jar file... thanks! (2 Replies)
Discussion started by: qwerty000
2 Replies

7. Shell Programming and Scripting

Extract specific line in an html file starting and ending with specific pattern to a text file

Hi This is my first post and I'm just a beginner. So please be nice to me. I have a couple of html files where a pattern beginning with "http://www.site.com" and ending with "/resource.dat" is present on every 241st line. How do I extract this to a new text file? I have tried sed -n 241,241p... (13 Replies)
Discussion started by: dejavo
13 Replies

8. Shell Programming and Scripting

Parse xml in shell script and extract records with specific condition

Hi I have xml file with multiple records and would like to extract records from xml with specific condition if specific tag is present extract entire row otherwise skip . <logentry revision="21510"> <author>mantest</author> <date>2015-02-27</date> <QC_ID>334566</QC_ID>... (12 Replies)
Discussion started by: madankumar.t@hp
12 Replies

9. UNIX for Beginners Questions & Answers

How can we extract specific elements from XML?

Hi, I have a requirement to extract specific element value dynamically from XML message. Here is the sample message: <File> <List> <main> <dir>doc/store834/archive</dir> <count>5</count> </main> <main> <dir>doc/store834/extract</dir> <count>6</count> </main> <main> ... (3 Replies)
Discussion started by: renukeswar
3 Replies

10. UNIX for Beginners Questions & Answers

How to pull multiple XML tags from the same XML file in Shell.?

I'm searching for the names of a TV show in the XML file I've attached at the end of this post. What I'm trying to do now is pull out/list the data from each of the <SeriesName> tags throughout the document. Currently, I'm only able to get data the first instance of that XML field using the... (9 Replies)
Discussion started by: hungryd
9 Replies
All times are GMT -4. The time now is 05:05 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy