11-11-2008
Thanks so much.
Have never worked with Perl before and downloaded tutorial to help me understand the syntax. Would you suggest a good book on it?
This code was awesome. The input file does consist of lots more information and the task tag has about 2 dozen attributes. (This is an embedded software file created by another integrator and has about 1000 tasks in it with multiple tags underneath). I do software code checking as code changes, this whole file was being recreated. Now all that has to be done is change the task xml file and re-imbed it. Magic..
The xml code is on an intranet machine and cannot be copied from, so the file and problem was abbreviated for convenience.
The only problem was
(m/id="(.*)"/)
actually captured the whole line including other attributes.
Each task is defined by the same version number appended to the end. I got the correct name by adding
(m/id="(.*)VERS5"/).
The last part was not captured, but it did end there. I tried the
(m/s/id="(.*)VERS5"/)
but it did not work. I got what I wanted by doing the perl then
ls *.xml > temp1
sed -e "s|.xml||g" temp1 > temp2
cat temp2 |xargs -n 1| while read TASKNAME
do
mv $TASKNAME.xml $TASKNAME'Vers5.xml'
done
This is the first time I have worked with Sun workstations and don't have this scripting thing down but with the help of this website, I have been able to do lots of neat things which have saved time.
Thanks all, this site is fantastic.
PS I am thinking about getting a MAC now that I am starting to understand UNIX. Any suggestions on what I should get?
Thanks again,
MissI
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to know the way. I have got parsing down some nodes. But I was unable to get the child node perfectly. If you have code please send it. It will be very useful for me. (0 Replies)
Discussion started by: girigopal
0 Replies
2. Shell Programming and Scripting
I have a file contains
TASK gsnmpproxy {
CommandLine = $SMCHOME/bin/gsnmpProxy.exe
}
TASK gsnmpdbgui {
CommandLine = $SMCHOME/bin/gsnmpdbgui.exe
I would like to comment and than uncomment specific task eg TASK gsnmpproxy
Pls suggest how to do in shell script (9 Replies)
Discussion started by: madhusmita
9 Replies
3. Shell Programming and Scripting
How can I parse file containing xml ?
I am sure that its best to use perl - but my perl is not very good - can someone help?
Example below contents of file containing the xml - I basically want to parse the file and have each field contained in a variable..
ie. I want to store the account... (14 Replies)
Discussion started by: frustrated1
14 Replies
4. Shell Programming and Scripting
Hello all,
Given the following extract from a xml file with multiple <JOB> .... </JOB> entries
<JOB
APPLICATION="APP"
APR="0"
AUG="0"
AUTHOR="AUT"
AUTOARCH="0"
CMDLINE="/tmp/test1 %%var"
CONFIRM="1"
CREATION_DATE="20100430"
CREATION_TIME="130739"
... (2 Replies)
Discussion started by: cabrao
2 Replies
5. Shell Programming and Scripting
I need to create a xml file(master.xml) with contents from another xml files(children). I have below list of xml files in a temporary location (C:/temp/xmls)
1. child1.xml
2. child2.xml
Below is the content of the child1.xml & child2.xml files,
child1.xml
<root>
<emp>
... (3 Replies)
Discussion started by: vel4ever
3 Replies
6. UNIX for Dummies Questions & Answers
I have more than 10K songs in two directories on a hard drive. I would like to create a file list all of files name then change to .xml extension to upload to iPhone so I have a Karaoke list on my iPhone.
I need your help to create a file by using command in Linux.
Files names:
0001 More... (4 Replies)
Discussion started by: ggcc
4 Replies
7. UNIX for Dummies Questions & Answers
HI Guys,
Input .XML
<xn:MeContext id="L0307">
<xn:ManagedElement id="1">
<xn:VsDataContainer id="1">
<xn:attributes>
<xn:vsDataType>vsDataENodeBFunction</xn:vsDataType>
... (3 Replies)
Discussion started by: pareshkp
3 Replies
8. Shell Programming and Scripting
Hello everybody,
I have a double mission with some XML files, which is pretty challenging for my actual beginner UNIX knowledge. I need to extract some strings from multiple XML files and create a new XML file with the searched strings..
The original XML files contain the source code for... (12 Replies)
Discussion started by: milano.churchil
12 Replies
9. Shell Programming and Scripting
Actually I have one list of channels names like:
Rai 1
Rai 1 +1HD
Rai 1 +2HD
Rai 2
Rai 2 +1HD
Rai 2 +2HD
.
.
.
.From this list of names I need create one new xml file with this structure
<channel id="Rai 1">
<display-name lang="it">Rai 1</display-name>
<icon... (3 Replies)
Discussion started by: Tapiocapioca
3 Replies
10. UNIX for Beginners Questions & Answers
//file begin =====
//some code
task abcd_;
input x;
input y,z; //some comment
output w; //some comment
reg p;
integer q;
begin
//some code
end
endtask : abcd_
//some code
//file end =====
expected output from above... (1 Reply)
Discussion started by: rishifrnds
1 Replies
LEARN ABOUT CENTOS
xml_pp
XML_PP(1) User Contributed Perl Documentation XML_PP(1)
NAME
xml_pp - xml pretty-printer
SYNOPSYS
xml_pp [options] [<files>]
DESCRIPTION
XML pretty printer using XML::Twig
OPTIONS
-i[<extension>]
edits the file(s) in place, if an extension is provided (no space between "-i" and the extension) then the original file is backed-up
with that extension
The rules for the extension are the same as Perl's (see perldoc perlrun): if the extension includes no "*" then it is appended to the
original file name, If the extension does contain one or more "*" characters, then each "*" is replaced with the current filename.
-s <style>
the style to use for pretty printing: none, nsgmls, nice, indented, record, or record_c (see XML::Twig docs for the exact description
of those styles), 'indented' by default
-p <tag(s)>
preserves white spaces in tags. You can use several "-p" options or quote the tags if you need more than one
-e <encoding>
use XML::Twig output_encoding (based on Text::Iconv or Unicode::Map8 and Unicode::String) to set the output encoding. By default the
original encoding is preserved.
If this option is used the XML declaration is updated (and created if there was none).
Make sure that the encoding is supported by the parser you use if you want to be able to process the pretty_printed file (XML::Parser
does not support 'latin1' for example, you have to use 'iso-8859-1')
-l loads the documents in memory instead of outputing them as they are being parsed.
This prevents a bug (see BUGS) but uses more memory
-f <file>
read the list of files to process from <file>, one per line
-v verbose (list the current file being processed)
-- stop argument processing (to process files that start with -)
-h display help
EXAMPLES
xml_pp foo.xml > foo_pp.xml # pretty print foo.xml
xml_pp < foo.xml > foo_pp.xml # pretty print from standard input
xml_pp -v -i.bak *.xml # pretty print .xml files, with backups
xml_pp -v -i'orig_*' *.xml # backups are named orig_<filename>
xml_pp -i -p pre foo.xhtml # preserve spaces in pre tags
xml_pp -i.bak -p 'pre code' foo.xml # preserve spaces in pre and code tags
xml_pp -i.bak -p pre -p code foo.xml # same
xml_pp -i -s record mydb_export.xml # pretty print using the record style
xml_pp -e utf8 -i foo.xml # output will be in utf8
xml_pp -e iso-8859-1 -i foo.xml # output will be in iso-8859-1
xml_pp -v -i.bak -f lof # pretty print in place files from lof
xml_pp -- -i.xml # pretty print the -i.xml file
xml_pp -l foo.xml # loads the entire file in memory
# before pretty printing it
xml_pp -h # display help
BUGS
Elements with mixed content that start with an embedded element get an extra
<elt><b>b</b>toto<b>bold</b></elt>
will be output as
<elt>
<b>b</b>toto<b>bold</b></elt>
Using the "-l" option solves this bug (but uses more memory)
TODO
update XML::Twig to use Encode with perl 5.8.0
AUTHOR
Michel Rodriguez <mirod@xmltwig.com>
perl v5.16.3 2012-11-14 XML_PP(1)