Sponsored Content
Top Forums Shell Programming and Scripting Cutting all xml tags out of a line Post 303013525 by bedtime on Thursday 22nd of February 2018 05:35:50 PM
Old 02-22-2018
Quote:
Originally Posted by RudiC
Try
Code:
awk -v vkey="$key" -v tagIn="$tagIn" -vtagOut="$tagOut" '
$0 ~ vkey       {print "Found:     " vkey "\n"
                 gsub (tagIn "[^" tagOut "]*" tagOut, "")
                 print
                }
' file
Found:     key="abolesco"><form

abolēscō olēvī, -, ere, incept. aboleo, to decay gradually, vanish, disappear, die out: nomen vetustate, L.: tanti gratia facti, V.

Thank you. This worked absolutely perfectly...until the xml code I was using suddenly changed to grouping between lines and not on the one line, but I got that sorted out and all is fine. Smilie

Quote:
Hi.

In thread https://www.unix.com/shell-programmi...-xml-file.html, post #11, there are examples for extraction using:


Code:
xml_grep /usr/bin/xml_grep version 0.9
xmlstarlet - ( /usr/bin/xmlstarlet, 2014-09-14 )
xmllint: using libxml version 20901
xml2 - ( /usr/bin/xml2, 2012-04-16 )
Thanks. I'm thinking this will come in handy. Smilie
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cutting number from range in xml file

Hi folks, I need to find the following value: First,I need to find the starting section by finding the line: <process-type id="OC4J_RiGHTv_${SCHEMA_NAME}" module-id="OC4J"> Second,under this line I need to find the following line: <port id="rmi" range="3765-3776"/> And third,from this line... (4 Replies)
Discussion started by: nir_s
4 Replies

2. Shell Programming and Scripting

Cutting columns starting at the end of each line...

Hi Guys, Can you help me with a sed or a csh script that will have an output from the input below. Cutting the columns starting from the end of the line and not from the start of the line? Sample1 - The underscore character "_" is actually a space...i need to put it as underscore here coz... (2 Replies)
Discussion started by: elmer1503
2 Replies

3. Shell Programming and Scripting

Cutting a part of line till delimiter

here are the few scenarios... isoSizeKB text NOT NULL, reserved1 varchar(255), KEY `deviceId` (`deviceId`) `d5` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `dHead` enum('HistoryInfo','Diversion') COLLATE utf8_unicode_ci, `ePR` int(11) DEFAULT '0', PRIMARY KEY (`id`) ... (7 Replies)
Discussion started by: vivek d r
7 Replies

4. Shell Programming and Scripting

Closing XML tags in one line

Any one can help Example having an spml output as below (the complete one has more than 10000 tags): ============= <ts11> <msisdn>123</msisdn> <bcieID>TELEPHON</bcieID> </ts11> <ts21> <msisdn>987</msisdn> </ts21> ... ======= I want to have every tag closed in one line ... (10 Replies)
Discussion started by: hafidiw
10 Replies

5. 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

6. Shell Programming and Scripting

Insert a new line between the XML tags?.

<TestLog> <TriggerAPI> <StartDate>Nov 16, 2012 6:34:02 AM com.satttest01.Response() </StartDate> <RequestType>SUCCESS: Send :</RequestType> <TranNumber>5210203</TranNumber> <TranId>8585319731207148</TranId> </TriggerAPI> <TriggerAPI> <StartDate>Nov 16, 2012 6:34:02 AM... (3 Replies)
Discussion started by: laknar
3 Replies

7. Shell Programming and Scripting

Shell Command to compare two xml lines while ignoring xml tags

I've got two different files and want to compare them. File 1 : HTML Code: <response ticketId="944" type="getQueryResults"><status>COMPLETE</status><description>Query results fetched successfully</description><recordSet totalCount="1" type="sms_records"><record... (1 Reply)
Discussion started by: Shaishav Shah
1 Replies

8. Shell Programming and Scripting

Cutting commas after the second occurrence in a line

Hello everyone, I am manipulating a large CSV file and am trying to read it into a program and started running into trouble. The have manually edited the file trying to make it correctly run through the program and have made progress. However, I am know stuck with an issue involving too many... (3 Replies)
Discussion started by: tastybrownies
3 Replies

9. Shell Programming and Scripting

Assiging to a variable after cutting from the input line

Hi all, I am reading from the file having entries like below 111.ABC.POT 6477.YHT.OIT Now I need to read each line and cut each line seperated by dot and print into the file . I tried below and it is not working . Please help while read READLINE do eval... (4 Replies)
Discussion started by: Hypesslearner
4 Replies
XML2PO(1)							  [FIXME: manual]							 XML2PO(1)

NAME
xml2po - program to create a PO-template file from a DocBook XML file and merge it back into a (translated) XML file SYNOPSIS
xml2po [OPTIONS] [XMLFILE] DESCRIPTION
This manual page documents briefly the xml2po command. xml2po is a simple Python program which extracts translatable content from free-form XML documents and outputs gettext compatible POT files. Translated PO files can be turned into XML output again. It can work it's magic with most "simple" tags, and for complicated tags one has to provide a list of all tags which are "final" (that will be put into one "message" in PO file), "ignored" (skipped over) and "space preserving". OPTIONS
The program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. -a, --automatic-tags Automatically decide if tags are to be considered "final" or not. -k, --keep-entities Don't expand entities (default). See also the -e option. -e, --expand-all-entities Expand all entities (including SYSTEM ones). -m, --mode=TYPE Treat tags as type TYPE (default: docbook). -o, --output=FILE Print resulting text (XML while merging translations with "-p" or "-t" options, POT template file while extracting strings, and translated PO file with "-r" option) to the given FILE. -p, --po-file=FILE Specify a PO FILE containing translation and output XML document with translations merged in. -r, --reuse=FILE Specify a translated XML document in FILE with the same structure to generate translated PO file for XML document given on command line. -t, --translation=FILE Specify a MO file containing translation and output XML document with translations merged in. -u, --update-translation=LANG.po Update a PO file using msgmerge. -l, --language=LANG Explicitly set language of the translation. -h, --help Show summary of options. -v, --version Show version of program. EXAMPLES
Creating POT template files To create a POT template book.pot from an input file book.xml, which consists of chapter1.xml and chapter2.xml (external entities), run: /usr/bin/xml2po -o book.pot book.xml chapter1.xml chapter2.xml To expand entities use the -e option: /usr/bin/xml2po -e -o book.pot book.xml Creating translated XML files (merging back PO files) After translating book.pot into LANG.po, merge the translations back by using -p option for each XML file: /usr/bin/xml2po -p LANG.po -o book.LANG.xml book.xml /usr/bin/xml2po -p LANG.po -o chapter1.LANG.xml chapter1.xml /usr/bin/xml2po -p LANG.po -o chapter2.LANG.xml chapter2.xml If you used the -e option to expand entities, you should use it again to merge back the translation into an XML file: /usr/bin/xml2po -e -p LANG.po -o book.LANG.xml book.xml Updating PO files When base XML file changes, the real advantages of PO files come to surface. There are 2 ways to merge the translation. The first is to produce a new POT template file (additionally use the -e if you decided earlier to expand entities). Afterwards run msgmerge to merge the translation with the new POT file: /usr/bin/msgmerge -o tmp.po LANG.po book.pot Now rename tmp.po to LANG.po and update your translation. Alternatively, xml2po provides the -u option, which does exactly these two steps for you. The advantage is, that it also runs msgfmt to give you a statistical output of translation status (count of translated, untranslated and fuzzy messages). Additionally use the -e if you decided earlier to expand entities: /usr/bin/xml2po -u LANG.po book.xml SEE ALSO
msgmerge (1), msgfmt (1) AUTHOR
This manual page was written by Daniel Leidert daniel.leidert@wgdd.de for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation. COPYRIGHT
Copyright (C) 2005 Daniel Leidert [FIXME: source] 2005/02/10 XML2PO(1)
All times are GMT -4. The time now is 08:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy