Sponsored Content
Top Forums Shell Programming and Scripting awk command to insert a tag in XML Post 302868003 by RudiC on Friday 25th of October 2013 02:05:13 PM
Old 10-25-2013
Code:
awk     '/<nam>/                {L=1}                   # if a line contains <nam>, keep that fact in variable L
         /<a1>/                 {L=0}                   # if then <a1> occurs, no action necessary, reset L
         /<\/var>/ && L         {print "<a1>.</a1>"}    # if end of section and L still set, print missing string.
                                                        # you might want to reset L as well to be on the safe side
         1                                              # print normal lines from file
        ' file

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sed command to clean xml tag

Hi, Can someone help me come up with a generic sed command to clean a tag off its attributes? For eg. Input String - <tag attrib=new>This String</tag> should undergo a sed transformation to get Output String - <tag >This String</tag> This works - echo "<tag attrib=new>This</tag>" |... (3 Replies)
Discussion started by: iamwha1am
3 Replies

2. Shell Programming and Scripting

shell command to remove some XML tag is needed

Hi all, I have a file which i have to remove some line from it, the lines that i have to remove from my file is as below: </new_name></w"s" langue="Fr-fr" version="1.0" encoding="UTF-8" ?> <New_name> and it is finding at the middle of my file, is there any command line in linux to do it or do... (10 Replies)
Discussion started by: id_2pc
10 Replies

3. Shell Programming and Scripting

How to retrieve the value from XML tag whose end tag is in next line

Hi All, Find the following code: <Universal>D38x82j1JJ </Universal> I want to retrieve the value of <Universal> tag as below: Please help me. (3 Replies)
Discussion started by: mjavalkar
3 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

awk Script to parse a XML tag

I have an XML tag like this: <property name="agent" value="/var/tmp/root/eclipse" /> Is there way using awk that i can get the value from the above tag. So the output should be: /var/tmp/root/eclipse Help will be appreciated. Regards, Adi (6 Replies)
Discussion started by: asirohi
6 Replies

6. Shell Programming and Scripting

Using shell command need to parse multiple nested tag value of a XML file

I have this XML file - <gp> <mms>1110012</mms> <tg>988</tg> <mm>LongTime</mm> <lv> <lkid>StartEle=ONE, Desti = Motion</lkid> <kk>12</kk> </lv> <lv> <lkid>StartEle=ONE, Source = Velocity</lkid> <kk>2</kk> </lv> <lv> ... (3 Replies)
Discussion started by: NeedASolution
3 Replies

7. Shell Programming and Scripting

XML Parse between to tag with upper tag

Hi Guys Here is my Input : <?xml version="1.0" encoding="UTF-8"?> <xn:MeContext id="01736"> <xn:VsDataContainer id="01736"> <xn:attributes> <xn:vsDataType>vsDataMeContext</xn:vsDataType> ... (12 Replies)
Discussion started by: pareshkp
12 Replies

8. Shell Programming and Scripting

To search for a particular tag in xml and collate all similar tag values and display them count

I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help File: <xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies

9. Shell Programming and Scripting

Moving XML tag/contents after specific XML tag within same file

Hi Forum. I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script. Any feedback will be greatly appreciated. ... (19 Replies)
Discussion started by: pchang
19 Replies

10. Shell Programming and Scripting

How to insert a CSV within xml element tag using Python?

Hi Team, I have a CSV file which I have to read through and needs to insert the content within an XML file using Python ONLY ( as most of the code base we have in python only). I managed to find the first part, missing how to insert to XML under "specific" tags. cat input.csv... (0 Replies)
Discussion started by: panyam
0 Replies
XML::AutoWriter(3pm)					User Contributed Perl Documentation				      XML::AutoWriter(3pm)

NAME
XML::AutoWriter - DOCTYPE based XML output SYNOPSIS
use XML::Doctype NAME => a, SYSTEM_ID => 'a.dtd' ; use XML::AutoWriter qw( :all :dtd_tags ) ; # # a.dtd contains: # # <!ELEMENT a ( b1, b2?, b3* ) > # <!ATTLIST a aa1 CDATA #REQUIRED > # <!ELEMENT b1 ( c1 ) > # <!ELEMENT b2 ( c2 ) > # b1 ; # Emits <a><b1> c2( attr=>"val" ) ; # Emits </b1><b2><c2 attr="val"> endAllTags ; # Emits </c2></b2></a> ## If you've got an XML::Doctype object handy: use XML::AutoWriter qw( :dtd_tags ), DOCTYPE => $doctype ; ## If you've saved a preparsed DTD as a perl module use FooML::Doctype::v1_0001 ; use XML::AutoWriter qw( :dtd_tags ) ; ## Or as a normal perl object: $writer = XML::AutoWriter->new( ... ) ; $writer->startTag( 'b1' ) ; $writer->startTag( 'c2' ) ; $writer->end ; STATUS
Alpha. Use and patch, don't depend on things not changing drastically. Many methods supplied by XML::Writer are not yet supplied here. DESCRIPTION
This module subclasses XML::ValidWriter and provides automatic start and end tag generation, allowing you to emit only the 'important' tags. See XML::ValidWriter for the details on all functions not documented here. XML::Writer API compatibility Much of the interface is patterned after XML::Writer so that it can possibly be used as a drop-in replacement. It will take awhile before this module emulates enough of XML::Writer to be a drop-in replacement in situations where the more advanced XML::Writer methods are used. Automatic start tags Automatic start tag creation is done when emitting a start tag that is not allowed to be a child of the currently open tag but is allowed to be contained in the currently open tag's subset. In this case, the minimal number of start tags necessary to allow All start tags between the current tag and the desired tag are automatically emitted with no attributes. Automatic end tags If start tag autogeneration fails, then end tag autogeneration is attempted. startTag() scans the stack of currently open tags trying to close as few as possible before start tag autogeneration suceeds. Explicit end tags may be emitted to prevent unwanted automatic start tags, and, in the future, warnings or errors will be available in place of automatic start and end tag creation. METHODS AND FUNCTIONS
All of the routines in this module can be called as either functions or methods unless otherwise noted. To call these routines as functions use either the DOCTYPE or :dtd_tags options in the parameters to the use statement: use XML::AutoWriter DOCTYPE => XML::Doctype->new( ... ) ; use XML::AutoWriter qw( :dtd_tags ) ; This associates an XML::AutoWriter and an XML::Doctype with the package. These are used by the routines when called as functions. new $writer = XML::AutoWriter->new( DTD => $dtd, OUTPUT => *FH ) ; Creates an XML::AutoWriter. All other parameters are passed to the XML::ValidWriter base class constructor. characters characters( 'yabba dabba dooo' ) ; $writer->characters( 'yabba dabba dooo' ) ; If the currently open tag cannot contain #PCDATA, then start tag autogeneration will be attempted, followed by end tag autogeneration. Start tag autogeneration takes place even if you pass in only '', or even (), the empty list. endTag endTag ; endTag( 'a' ) ; $writer->endTag ; $writer->endTag( 'a' ) ; Prints one or more end tags. The tag name is optional and defaults to the most recently emitted start tag if not present. This will emit as many close tags as necessary to close the supplied tag name, or will emit an error if the tag name specified is not open in the output document. startTag startTag( 'a', attr => val ) ; # use default XML::AutoWriter for # current package. $writer->startTag( 'a', attr => val ) ; Emits a named start tag with optional attributes. If the named tag cannot be a child of the most recently started tag, then any tags that need to be opened between that one and the named tag are opened. If the named tag cannot be enclosed within the most recently opened tag, no matter how deep, then startTag() tries to end as few started tags as necessary to allow the named tag to be emitted within a tag already on the stack. This warns (once) if no <?xml?> declaration has been emitted. It does not check to see if a <!DOCTYPE...> has been emitted. It dies if an attempt is made to emit a second root element. AUTHOR
Barrie Slaymaker <barries@slaysys.com> COPYRIGHT
This module is Copyright 2000, 2005, 2009 Barrie Slaymaker. Some rights reserved. This module is licensed under your choice of the Artistic, BSD or General Public License. perl v5.12.4 2011-09-15 XML::AutoWriter(3pm)
All times are GMT -4. The time now is 05:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy