How to fetch the value from a xml using sed, GREP?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to fetch the value from a xml using sed, GREP?
# 1  
Old 05-14-2019
How to fetch the value from a xml using sed, GREP?

I have a simple xml file,need the output with the <value> tag and <result> tag

Code:
text.xml
<test-method status="FAIL" duration="45">
<value>
Id=C18
</value>
<result>
wrong paramter
</result>
</test-method>
<test-method status="FAIL" duration="45">
<value>
Id=C19
</value>
<result>
Data Issue
</result>
</test-method>
<test-method status="FAIL" duration="5">
<value>
Id=C20
</value>
<result>
mismtach
</result>
</test-method>
Output:
id=C18 wrong parameter
id=C19 data issue
id=C20 mismatch

Thanks

Last edited by DevAakash; 05-14-2019 at 03:31 PM..
# 2  
Old 05-14-2019
Code:
sed -n '/<value>\|<result>/ {n;p}' file

--- Post updated at 23:34 ---

Code:
awk '/<value>/ {getline tmp}; /<result>/ {getline; print tmp,$0}' file

--- Post updated at 23:38 ---

Code:
sed -n '/<value>/ {n;h}; /<result>/ {n;H;x;s/\n/ /;p}' file

--- Post updated at 23:43 ---

Code:
sed -n '/<value>/ {n;h}; /<result>/! b; n;H;x;s/\n/ /p' file

These 2 Users Gave Thanks to nezabudka For This Post:
# 3  
Old 05-15-2019
Thanks nezabudka . my <results> has multiple lines, only the first line gets displayed when using the command sed -n '/<value>/ {n;h}; /<result>/ {n;H;x;s/\n/ /;p}' file
# 4  
Old 05-15-2019
Code:
sed -n '/<value>/ {n;h}; /<result>/ {:1;n;/<\/result>/! {H;b1};x;s/\n/ /g;p}'

--- Post updated at 09:07 ---

Code:
sed -n '/<value>/ {n;h}; /<result>/! b; :1;n;/<\/result>/! {H;b1};x;s/\n/ /g;p'

This User Gave Thanks to nezabudka For This Post:
# 5  
Old 05-15-2019
Code:
awk '{gsub(/(\s<.*>)?\s/, " ")} !(NR%2)' RS='<value>|<\\/result>' file

# 6  
Old 05-15-2019
Create xm1

Code:
while read a
do
   read b
   echo $a $b
done

Code:
grep -v "<" text.xml |grep -v ">" |./xm1

This User Gave Thanks to jgt For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep to fetch exact list

Hi I have below lists of files filename-1.0.0.tar.gz filename-1.0.1.345657676.snapshots.tar.gz so when I do grep -o 'filename-*.tar.gz' | sort | tail -1 then it consider snapshots as a part of it's result. How can I make sure, that it should only display the results from... (3 Replies)
Discussion started by: manas_ranjan
3 Replies

2. Shell Programming and Scripting

Getting string from xml tags using sed and grep

how to get string from tags using sed and grep i try to capture the tags : <groupId>org.test.proj.assent</groupId> <artifactId>mainapp</artifactId> <version>mainapp.1.4</version> <packaging>pom</packaging> <name>main app 1</name> and then from there i guess i will... (7 Replies)
Discussion started by: umen
7 Replies

3. Shell Programming and Scripting

How to grep for a word in xml?

Hi, I have the below tag/s in my xml. <foreign-server name="MOHTASHIM_SERVER"> What will be the easist way to extract MOHTASHIM_SERVER without the double quotes "" from the above tag? Desired Output: (10 Replies)
Discussion started by: mohtashims
10 Replies

4. UNIX for Dummies Questions & Answers

GREP for a tag in XML File

I have 2 XML Data files with a tag named PARTICIPATION_TYPE and i am trying to grep for that and getting unique values. However one of the xml data file data is not aligned properly like below. File 1: (works fine when i do grep) grep "PARTICIPATION_TYPE" file1.xml | sort -u Data: ....... (3 Replies)
Discussion started by: Ariean
3 Replies

5. Shell Programming and Scripting

fetch last line no form file which is match with specific pattern by grep command

Hi i have a file which have a pattern like this Nov 10 session closed Nov 10 Nov 9 08:14:27 EST5EDT 2010 on tty . Nov 10 Oct 19 02:14:21 EST5EDT 2010 on pts/tk . Nov 10 afrtetryytr Nov 10 session closed Nov 10 Nov 10 03:21:04 EST5EDT 2010 Dec 8 Nov 10 05:03:02 EST5EDT 2010 ... (13 Replies)
Discussion started by: Himanshu_soni
13 Replies

6. Shell Programming and Scripting

Grep and fetch subsequent lines also

Hi, I need to grep a pattern and fetch subsequent lines till end of the data-set. E.g., i have a file like: AA 1111 23 34 BB 45 56 78 CC 22 44 AA 2222 78 34 56 BB 22 56 67 68 23 CC 56 78 DD 33 55 77 AA 3333 46 BB 58 79 In above file i have 3-data sets where each set starts with... (6 Replies)
Discussion started by: prvnrk
6 Replies

7. Shell Programming and Scripting

get rid of xml comment by grep or sed

Hi, I would like to get rid of all comment in an xml file by grep or sed command: The content seem like this: <!-- ab cd ef gh ij kl --> Anyone can help? Thanks and Regards (3 Replies)
Discussion started by: RonLii
3 Replies

8. UNIX for Dummies Questions & Answers

Problems with grep and XML

I'm trying to use grep on XML files. The same grep expressions work on plaint text files but not on XML files (which of course are plain text files). Actually, these expressions work on XML files saved in DreamWeaver, but not when the same files are saved in XML Spy. I want grep to treat these... (4 Replies)
Discussion started by: pauljohn
4 Replies

9. Shell Programming and Scripting

Grep XML tags

I want to search the below XML pattern in the XML files, but the XML files would be in a .GZ files, <PRODID>LCTO84876</PRODID> <PARTNUMBER>8872AC1</PARTNUMBER> <WWPRODID>MODEL84876</WWPRODID> <COUNTRY>US</COUNTRY> <LANGUAGE>1</LANGUAGE> What's the command/script to search it ? :confused: (2 Replies)
Discussion started by: saravvij
2 Replies

10. Shell Programming and Scripting

Grep xml tags

Hi I want to get the value between to XML tags as follows <EAN>12345</EAN> so i would want to return 12345. i have tried sed and awk but can't do it. can anyone help? (9 Replies)
Discussion started by: handak9
9 Replies
Login or Register to Ask a Question