08-13-2008
serach and replace a specific pattern or value in a xml file
can some one help me with a perl command
i have to search and replace a version from a xml-file
so i use in a ksh script a command like this
ssh $GLB_ACC@$GLB_HOST "/usr/contrib/bin/perl -pi -e "s/$curVersion/$new_Version/g" $Dest_dir/epi.xml"
this command worked so far, but the problem i found is when curLine is 10.0.0
where curVersion=10.0.0 and new_Version= 10.0.1
since with this pattern they are some more entries like IP address ,etc.. which is matching the pattern
inside the xml file its specified as
<value>10.0.0<\value>
how can i overcome the search and replace to only act on the above value
either by changing pattern ,etc.. any help please ??
i tried like this but no luck
ssh $GLB_ACC@$GLB_HOST "/usr/contrib/bin/perl -pi -e "s/value\>$curVersion\</value\>$new_Version\</g" $Dest_dir/epi.xml"
i want to know how can i search patter including "<" or ">"
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi every one ,
here is my problem !!
i have to run my script from an account and update the result in a xml file located on a different account. i use existing ssh keys to do it remotely
for example the tags looks like this
<PropertyValueList... (1 Reply)
Discussion started by: kiranreddy1215
1 Replies
2. UNIX for Dummies Questions & Answers
My requirement is to replace a a particular pattren in a script from A to B.
I am not sure if this can be done through sed command or through awk .
The file sv.inc is
window DialogBox AddConnection
tag "~ActiveApp/Add Connection - Provider Type?URL"
I would wnat the file to be... (10 Replies)
Discussion started by: bsandeep_80
10 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I am trying to find a particular patter in multiple UNIX files (also contain system files,hidden files and normal files)
i am now using
CMD: egrep -ali 'pattern' *
i am not getting the required result, i just need files path and finename
Naveen (3 Replies)
Discussion started by: Naveen_5960
3 Replies
4. Shell Programming and Scripting
Search and Replace a string pattern with empty in an xml file in unix:
My xml file would be like this :
<Accounts><Name>Harish</Name><mobile>90844444444444445999 </mobile><TRIG>srcujim-1</TRIG></Accounts><Accounts><Name>Satish</Name><mobile>908999</mobile><TRIG>ettertrtt-1</TRIG></Accounts>
... (1 Reply)
Discussion started by: harish_s_ampeo
1 Replies
5. Shell Programming and Scripting
Hello guys,
I need your help for a specific sed command that would search for a multi line pattern and if found, would replace it by another multi line pattern.
For instance, here is the input:
<RefNickName>abcd</RefNickName>
<NickName>efgh</NickName>
<Customize>
... (0 Replies)
Discussion started by: xciteddd
0 Replies
6. Shell Programming and Scripting
Can anyone please help with this? I have 2 files as given below.
If 2nd column of file1 has pattern foo1@a, find the matching 1st column in file2 & replace 2nd column of file1 with file2's value.
file1
abc_1 foo1@a ....
abc_1 soo2@a ...
def_2 soo2@a ....
def_2 foo1@a ........ (7 Replies)
Discussion started by: prashali
7 Replies
7. UNIX for Dummies Questions & Answers
Hi all,
I have a TAB separated file like this:
sample.rpt:
54 67 common/bin/my/home {{bla bla bla}} {bla bla} Replace Me
89 75 bad/rainy/day/out {{ some bla} } {some bla} Dontreplace Me
......
......
I wish to do a regexp match on the 3rd... (2 Replies)
Discussion started by: newboy
2 Replies
8. Shell Programming and Scripting
Hi,
I want to replace specific pattern "-2.0000 2" by "1.0000 3" on a particular line (line #5) in a file 1.dat. I have about 50 more files similar to 1.dat in which I want to do this correction.
Can you please suggest how can I make change only at this particular line of a file... (6 Replies)
Discussion started by: anuj06
6 Replies
9. Post Here to Contact Site Administrators and Moderators
In file, we have millions of records each of 1000 in length. And at specific position say 800 there is a space, we need to replace it with Character X if the ID in that row starts with 123.
So far i have used the below which is replacing space at that position to X but its not checking for... (3 Replies)
Discussion started by: Jagmeet Singh
3 Replies
LEARN ABOUT DEBIAN
stag-filter
STAG-FILTER(1p) User Contributed Perl Documentation STAG-FILTER(1p)
NAME
stag-filter - filters a stag file (xml, itext, sxpr) for nodes of interest
SYNOPSIS
stag-filter person -q name=fred file1.xml
stag-filter person 'sub {shift->get_name =~ /^A*/}' file1.xml
stag-filter -p My::Foo -w sxpr record 'sub{..}' file2
USAGE
stag-filter [-p|parser PARSER] [-w|writer WRITER] NODE -q tag=val FILE
stag-filter [-p|parser PARSER] [-w|writer WRITER] NODE SUB FILE
stag-filter [-p|parser PARSER] [-w|writer WRITER] NODE -f PERLFILE FILE
DESCRIPTION
parsers an input file using the specified parser (which may be a built in stag parser, such as xml) and filters the resulting stag tree
according to a user-supplied subroutine, writing out only the nodes/elements that pass the test.
the parser is event based, so it should be able to handle large files (although if the node you parse is large, it will take up more
memory)
ARGUMENTS
-p|parser FORMAT
FORMAT is one of xml, sxpr or itext, or the name of a perl module
xml assumed as default
-w|writer FORMAT
FORMAT is one of xml, sxpr or itext, or the name of a perl module
-c|count
prints the number of nodes that pass the test
-filterfile|f
a file containing a perl subroutine (in place of the SUB argument)
-q|query TAG1=VAL1 -q|query TAG2=VAL2 ... -q|query TAGN=VALN
filters based on the field TAG
other operators can be used too - eg <, <=, etc
multiple q arguments can be passed in
for more complex operations, pass in your own subroutine, see below
SUB a perl subroutine. this subroutine is evaluated evry time NODE is encountered - the stag object for NODE is passed into the subroutine.
if the subroutine passes, the node will be passed to the writer for display
NODE
the name of the node/element we are filtering on
FILE
the file to be parser. If no parser option is supplied, this is assumed to a be a stag compatible syntax (xml, sxpr or itext);
otherwise you should parse in a parser name or a parser module that throws stag events
SEE ALSO
Data::Stag
perl v5.10.0 2008-12-23 STAG-FILTER(1p)