STAG-GREP(1p) User Contributed Perl Documentation STAG-GREP(1p)NAME
stag-grep - filters a stag file (xml, itext, sxpr) for nodes of interest
SYNOPSIS
stag-grep person -q name=fred file1.xml
stag-grep person 'sub {shift->get_name =~ /^A*/}' file1.xml
stag-grep -p My::Foo -w sxpr record 'sub{..}' file2
USAGE
stag-grep [-p|parser PARSER] [-w|writer WRITER] NODE -q tag=val FILE
stag-grep [-p|parser PARSER] [-w|writer WRITER] NODE SUB FILE
stag-grep [-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-GREP(1p)
Check Out this Related Man Page
STAG-FLATTEN(1p) User Contributed Perl Documentation STAG-FLATTEN(1p)NAME
stag-flatten - turns stag data into a flat table
SYNOPSIS
stag-flatten -c name -c person/name dept MyFile.xml
DESCRIPTION
reads in a file in a stag format, and 'flattens' it to a tab-delimited table format. given this data:
(company
(dept
(name "special-operations")
(person
(name "james-bond"))
(person
(name "fred"))))
the above command will return a two column table
special-operations james-bond
special-operations fred
If there are multiple values for the columns within the node, then the cartesian product will be calculated
USAGE
stag-flatten [-p PARSER] [-c COLS] [-c COLS] NODE <file>
ARGUMENTS
-p|parser FORMAT
FORMAT is one of xml, sxpr or itext
xml assumed as default
-c|column COL1,COL2,COL3,..
the name of the columns/elements to write out
this can be specified either with multiple -c arguments, or with a comma-seperated (no spaces) list of column (terminal node) names
after a single -c
-n|nest
if set, then the output will be a compress repeating values into the same row; each cell in the table will be enclosed by {}, and will
contain a comma-delimited set of values
SEE ALSO
Data::Stag
perl v5.10.0 2008-12-23 STAG-FLATTEN(1p)
Hi all,
I want to write a shell which would allow me to edit a text file or a xml file.
Basically i want to add a new node in a existing xml file. The values for this new node are based on user input.
Thanks in advance
Zing (9 Replies)
Hi friends :)
I am having a small problem and ur help is needed...
I have a long file from which i want to select only some portions after filtering (grep).
My file looks like :
header
xxyy
lmno
xxyy
wxyz
footer
header
abcd
xy
pqrs
footer
.
. (14 Replies)
Hi, There are two files in UNIX system with some lines are exactly the same, some lines are not.
I want to compare these two files.The 2 files (both the files have data in Column format )should be compared row wise and any difference in data for a particular row should lead to storage of data of... (32 Replies)
Hi All,
I'm executing the statement defined below
sed 's/${GETUID}/${NEW}/g' test.xml > newTest.xml
mv newTest.xml test.xml
The value of GETUID is 123456789101
The value of NEW is 120607161020
The test.xml file is not updating with the new value.
Thanks (9 Replies)
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)
Hi
is there a way in grep to display few lines before and after the pattern??
I tried options A and B and after-context and before-context. But they don't work on Solaris platform.
please advise. (13 Replies)
I have a variable embedded in a path, and when I print the path, the variable name gets printed out, and not the actual value. Here is an example.
NODE='database1'
j='/home/log/$NODE/alert$NODE.log'
echo $j
Result that I got : /home/log/$NODE/alert$NODE.log
Result that I... (8 Replies)
I want to count the number of occurences of say "200" in a file but that file also contains various stuff including dtaes like 2007 or smtg like 200.1 so count i am getting by doing grep -c "word" file is wrong
Please help!!!!! (8 Replies)
Hi All,
I have a large xml file of invoices. The file looks like below:
<INVOICES>
<INVOICE>
<NAME>Customer A</NAME>
<INVOICE_NO>1234</INVOICE_NO>
</INVOICE>
<INVOICE>
<NAME>Customer A</NAME>
<INVOICE_NO>2345</INVOICE_NO>
</INVOICE>
<INVOICE>
<NAME>Customer A</NAME>... (9 Replies)
I have some xml files that cannot be read using a standard parser, or I am using the wrong parser. The issues seems to be spaces in some of the tags.
Here is a sample,<UgUn 2 >
<Un>
-0.426753
</Un>
</UgUn>The parser isn't able to find the number 2, so that information is lost, etc. It seems... (16 Replies)
Hello. I'm making a (hopefully) simple shell script xml parser that outputs a file I can grep for information. I am writing it because I have yet to find a command line utility that can do this. If you know of one, please just stop now and tell me about it. Even better would be one I can input... (10 Replies)
Hello!
We need to parse weblogic config.xml file and display rows in format:
machine:listen-port:name:application_name
In our enviroment the output should be (one line for every instance):
Crm-Test-Web:8001:PIA:peoplesoft
Crm-Test-Web:8011:PIA:peoplesoft... (9 Replies)
Hi,
I have the below tag/s in my xml.
<foreign-server name="MOHTASHIM_SERVER">
What will be the easist way to extract MOHTASHIM_SERVER without the double quotes "" from the above tag?
Desired Output: (10 Replies)
Hi, please help on this. I want extract values of xml file structure and print in determined way.
<ProjectName> --> only appears once
<StructList> --> is the top node
<Struct> node --> could be more than 1
NameID, STX, STY, PRX, PRY --> appears only 1 time within each <Struct> node... (10 Replies)