Sponsored Content
Top Forums Shell Programming and Scripting replace a string with contents of a txt file containing multiple lines of strings Post 302515839 by 4dirk1 on Thursday 21st of April 2011 04:11:09 AM
Old 04-21-2011
Quote:
Originally Posted by Franklin52
Use nawk or /usr/xpg4/bin/awk on Solaris.
Hi sir i tried nawk, it seemed to work, but it was not the output i was expecting. this xml file opens up as a spreadsheet when sent out to windows environment. Now I placed keywords like 'kw01' on certain cells in this xml file as a marker in which i have to replace this keywords with data taken from SQL queries which i store in txt files (fatal_alerts.txt). Now what happens is, it did replace the keyword 'kw01' with the contents of 'fatal_alerts.txt', but it also removed the tag responsible for printing the contents in the xml file.

before running this command: nawk '/kw01/{system("cat fatal_alerts.txt");next}1' template.xml > test.xml

this is the line in the xml file where 'kw01' is present.
Quote:
<Cell ss:StyleID="s78"><Data ss:Type="String">kw01</Data></Cell>
after executing nawk '/kw01/{system("cat fatal_alerts.txt");next}1' template.xml > test.xml, this is what happens with the line above:

Quote:
no rows selected
the tags for 'kw01' were removed. while i was expecting something like:
Quote:
<Cell ss:StyleID="s78"><Data ss:Type="String">

no rows selected

</Data></Cell>
this is nerve wrecking. Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

grep command to find multiple strings in multiple lines in a file.

I want to search files (basically .cc files) in /xx folder and subfolders. Those files (*.cc files) must contain #include "header.h" AND x() function. I am writing it another way to make it clear, I wanna list of *.cc files that have 'header.h' & 'x()'. They must have two strings, header.h... (2 Replies)
Discussion started by: ritikaSharma
2 Replies

2. Shell Programming and Scripting

replace (sed?) a single line/string in file with multiple lines (string) from another file??

Can someone tell me how I can do this? e.g: Say file1.txt contains: today is monday the 22 of NOVEMBER 2010 and file2.txt contains: the 11th month of How do i replace the word NOVEMBER with (5 Replies)
Discussion started by: tuathan
5 Replies

3. UNIX for Advanced & Expert Users

Find and replace txt between two strings in flat file

Hi There... I need to serach and replace strngs in a text file. My file has; books.amazon='Let me read' news.bestseller='xyz' expected output is books.amazon=NONFOUND news.bestseller=NONFOUND Can I first find the text between string1= books.amazon=' and string2= ' (locate the text... (1 Reply)
Discussion started by: Hiano
1 Replies

4. Shell Programming and Scripting

replace (sed?) a string in file with multiple lines (string) from variable

Can someone tell me how I can do this? e.g: a=$(echo -e wert trewt ertert ertert ertert erttert erterte rterter tertertert ert) How do i replace the STRING with $a? I try this: sed -i 's/STRING/'"$a"'/g' filename.ext but this don' t work (2 Replies)
Discussion started by: jforce
2 Replies

5. Shell Programming and Scripting

Script to find & replace a multiple lines string across multiple php files and subdirectories

Hey guys. I know pratically 0 about Linux, so could anyone please give me instructions on how to accomplish this ? The distro is RedHat 4.1.2 and i need to find and replace a multiple lines string in several php files across subdirectories. So lets say im at root/dir1/dir2/ , when i execute... (12 Replies)
Discussion started by: spfc_dmt
12 Replies

6. Shell Programming and Scripting

Replace Contents between 2 strings in a file with contens of another file

Please I want to replace all the contents beween "Section" and "Ensection" in file1 with all contents in file2. Example: file1: Section "Screen" DefaultDepth 24 SubSection "Display" Depth 8 ViewPort 0 0 Modes "1024x768" "800x600" "640x480" EndSubsection SubSection "Display" Depth... (9 Replies)
Discussion started by: powelltallen
9 Replies

7. Shell Programming and Scripting

Replace the .txt file between two strings in XML file

Hi i am having XML file with many number of lines,I need to replace between two strings with .txt file using awk. For ex <PersonInfoShipTo ------------------------------ /> My requirement is to replace the content between <PersonInfoShipTo ------------------------------ /> help me. Thanks... (9 Replies)
Discussion started by: Padmanabhan
9 Replies

8. Shell Programming and Scripting

Find multiple strings and replace single string

Hi, following Perl code i used for finding multiple strings and replace with single string. code: #!/usr/bin/perl my @files = <*.txt>; foreach $fileName (@files) { print "$fileName\n"; my $searchStr = ',rdata\)' | ',,rdata\)' | ', ,rdata\)'; my $replaceStr =... (2 Replies)
Discussion started by: chettyravi
2 Replies

9. Shell Programming and Scripting

sed - Replace string with file contents

Hello, I have two files: file1 and file2 file1 has the following info: --- host: "localhost" port: 3000 reporter_type: "zookeeper" zk_hosts: - "localhost:2181" file2 contains an IP address (1.1.1.1) What I want to do is replace localhost with 1.1.1.1, so that the... (4 Replies)
Discussion started by: Jay Kah
4 Replies

10. Shell Programming and Scripting

Replace a string with multiple lines

Hello Guys, I need to replace a string with multiple lines. For eg:- ABC,DEF,GHI,JKL,MNO,PQR,STU need to convert the above as below:- ABC,DEF, GHI1 GHI2 GHI3, JKL,MNO, PQR1 PQR2 PQR3, STU i have tried using code as:- (2 Replies)
Discussion started by: jassi10781
2 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 11:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy