01-06-2011
Solved
Thanks, fpmurphy! Your example worked perfectly, with only a slight adjustment for the differing syntax of xpath on my system:
xpath -e "count(//bread)" input.xml 2>/dev/null
The 2>/dev/null that you included at the end is particularly nice as it suppresses some unnecessary text from the reply.
Joseph
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need help with a perl parsing script. I have some error logs on a windows machine that I need to parse from a text file, but I know nothing about perl. I usually run this bash script on my linux box and it does just what I need. How would I do the same thing with perl and port it to my windows... (2 Replies)
Discussion started by: cstovall
2 Replies
2. UNIX for Advanced & Expert Users
******************PERL VERSION************************
This is perl, v5.8.1 built for i386-linux-thread-multi
ERROR!!!!---Undefined subroutine &main::start called at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/XML/Parser/Expat.pm line 469.
*********************PERL... (1 Reply)
Discussion started by: bishweshwar
1 Replies
3. Shell Programming and Scripting
#! /usr/local/bin/perl -w
$ip = "$ARGV";
$rw = "$ARGV";
$snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw";
$snmpw = "/usr/local/bin/snmpwalk -Os -c $rw";
$syst=`$snmpg $ip system sysName sysObjectID`;
sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies
4. Shell Programming and Scripting
Given the XML:
<?xml version="1.0" encoding="UTF-8"?>
<reference>
<refbody>
<section>
<p>
<ul>
<li><xref href="file1.dita#anchor" /></li>
<li><xref href="file2.dita#anchor" /></li>
</ul>
</p>
</section>
<section>
<p>
<xref href="file3.dita#anchor" />
</p>
<p>
<xref... (4 Replies)
Discussion started by: ricksj
4 Replies
5. Shell Programming and Scripting
for some reasons, i need to parse the XML result by using perl.
for instance, this is a sample XML result:
<Response>
<status>success</status>
<answer>AAA::AAA</answer>
<answer>BBB::BBB</answer>
</Response>
then i can use this way :
my @output = ();
foreach my $parts (@all) ##@all... (2 Replies)
Discussion started by: tiger2000
2 Replies
6. Shell Programming and Scripting
Hi,
Here is a sample xml file and expected output.
I need to extract the element/tag name (not value) and xpath (sample output.txt).
But the main problem is I put here one simple xml file where I can clearly see the number of elements, but in real time I have a xml file which have over 500... (18 Replies)
Discussion started by: BithunC
18 Replies
7. Shell Programming and Scripting
Hi I have an XML output like :
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <envelope>
- <body>
- <outputGetUsageSummary>
- <usgSumm rerateDone="5">
- <usageAccum accumId="269" accumCaptn="VD_DP_AR" inclUnits="9999999.00" inclUnitsUsed="0.00" shared="false" pooled="false"... (7 Replies)
Discussion started by: rkrish
7 Replies
8. Shell Programming and Scripting
I am trying to parse the XML Google contact file using tools like xmllint and I even dived into the XSL Style Sheets using xsltproc but I get nowhere.
I can not supply any sample file as it contains private data but you can download your own contacts using this script:
#!/bin/sh
# imports... (9 Replies)
Discussion started by: ripat
9 Replies
9. Shell Programming and Scripting
i have xml output in below format...
<AlertsResponse>
<Alert id="11216" name="fgdfg">
<AlertActionLog timestamp="1356521629778" user="admin" detail="Recovery Alert"/>
</Alert>
<Alert id="11215" name="gdfg
<AlertActionLog timestamp="1356430119840" user=""... (12 Replies)
Discussion started by: vivek d r
12 Replies
10. Shell Programming and Scripting
Hi folks
I have a script I wrote that basically parses a bunch of config and xml files works out were to add in the new content then spits out the data into a new file.
It all works - apart from the xml and config file format in the new file
with XML files the original XML (that ends up in... (2 Replies)
Discussion started by: dfinch
2 Replies
LEARN ABOUT CENTOS
cibadmin
PACEMAKER(8) System Administration Utilities PACEMAKER(8)
NAME
Pacemaker - Part of the Pacemaker cluster resource manager
SYNOPSIS
cibadmin command [options] [data]
DESCRIPTION
cibadmin - Provides direct access to the cluster configuration.
Allows the configuration, or sections of it, to be queried, modified, replaced and deleted.
Where necessary, XML data will be obtained using the -X, -x, or -p options
OPTIONS
-?, --help
This text
-$, --version
Version information
-V, --verbose
Increase debug output
Commands:
-u, --upgrade
Upgrade the configuration to the latest syntax
-Q, --query
Query the contents of the CIB
-E, --erase
Erase the contents of the whole CIB
-B, --bump
Increase the CIB's epoch value by 1
-C, --create
Create an object in the CIB. Will fail if the object already exists.
-M, --modify
Find the object somewhere in the CIB's XML tree and update it. Fails if the object does not exist unless -c is specified
-P, --patch
Supply an update in the form of an xml diff (See also: crm_diff)
-R, --replace
Recursivly replace an object in the CIB
-D, --delete
Delete the first object matching the supplied criteria, Eg. <op id="rsc1_op1" name="monitor"/>
The tagname and all attributes must match in order for the element to be deleted
-d, --delete-all
When used with --xpath, remove all matching objects in the configuration instead of just the first one
-5, --md5-sum
Calculate the on-disk CIB digest
-6, --md5-sum-versioned
Calculate an on-the-wire versioned CIB digest
-S, --sync
(Advanced) Force a refresh of the CIB to all nodes
-a, --empty
Output an empty CIB
Additional options:
-f, --force
-t, --timeout=value
Time (in seconds) to wait before declaring the operation failed
-s, --sync-call
Wait for call to complete before returning
-l, --local
Command takes effect locally. Should only be used for queries
-c, --allow-create
(Advanced) Allow the target of a --modify,-M operation to be created if they do not exist
-n, --no-children
(Advanced) When querying an object, do not return include its children in the result
Data:
-X, --xml-text=value
Retrieve XML from the supplied string
-x, --xml-file=value
Retrieve XML from the named file
-p, --xml-pipe Retrieve XML from stdin
-o, --scope=value
Limit the scope of the operation to a specific section of the CIB.
Valid values are: nodes, resources, constraints, crm_config, rsc_defaults, op_defaults, status
-A, --xpath=value
A valid XPath to use instead of --scope,-o
-e, --node-path
When performing XPath queries, return the address of any matches found.
Eg: /cib/configuration/resources/master[@id='ms_RH1_SCS']/primitive[@id='prm_RH1_SCS']
-N, --node=value
(Advanced) Send command to the specified host
EXAMPLES
Query the configuration from the local node:
# cibadmin --query --local
Query the just the cluster options configuration:
# cibadmin --query --scope crm_config
Query all 'target-role' settings:
# cibadmin --query --xpath "//nvpair[@name='target-role']"
Remove all 'is-managed' settings:
# cibadmin --delete-all --xpath "//nvpair[@name='is-managed']"
Remove the resource named 'old':
# cibadmin --delete --xml-text '<primitive id="old"/>'
Remove all resources from the configuration:
# cibadmin --replace --scope resources --xml-text '<resources/>'
Replace the complete configuration with the contents of $HOME/pacemaker.xml:
# cibadmin --replace --xml-file $HOME/pacemaker.xml
Replace the constraints section of the configuration with the contents of $HOME/constraints.xml:
# cibadmin --replace --scope constraints --xml-file $HOME/constraints.xml
Increase the configuration version to prevent old configurations from being loaded accidentally:
# cibadmin --modify --xml-text '<cib admin_epoch="admin_epoch++"/>'
Edit the configuration with your favorite $EDITOR:
# cibadmin --query > $HOME/local.xml
# $EDITOR $HOME/local.xml
# cibadmin --replace --xml-file $HOME/local.xml
SEE ALSO:
crm(8), pcs(8), crm_shadow(8)
AUTHOR
Written by Andrew Beekhof
REPORTING BUGS
Report bugs to pacemaker@oss.clusterlabs.org
Pacemaker 1.1.10-29.el7 June 2014 PACEMAKER(8)