12-21-2011
Multiple Tag Search and Printing
Scenario:
The following text belongs to a .doc file
File: check1.asmFunction: MonksTag: NoTag: 001Tag: YesTag: 002File: check2.asmFunction: Perl MonksTag: YesTag: 003Tag: NoTag: 004File: check3.asmFunction: ExpertsTag: NoTag: 005Tag: NoTag: 006Function: Perl ExpertsTag: NoTag: 007Tag: YesTag: 008
I have to extract the tag which have been tagged as Yes and the corresponding function and file name to an excel sheet..
The output have to be like this:
Tags Function File002 Monks check1.asm003 Perl Monks check2.asm008 Perl Experts check3.asm
I have written the following snippet for extracting the tag which is categorized as Yes :
use strict; use warnings;use Win32::OLE;use Win32::OLE qw(in with);use Win32::OLE::Variant;use Win32::OLE::Const 'Microsoft Excel';use Win32::OLE::Const 'Microsoft Word'; use Cwd;use File::Find;use Win32::OLE;use Win32::OLE::Enum;$Win32::OLE::Warn = 3; # die on errors.+..my $out_file = 'check.xls';open my $out_fh, '>', $out_file or die "Could not open file $out_file:+$!";my $print_next = 0; #Globalsour $Word;our $reviewchklists;my @scriptfiles;@scriptfiles=glob('*.doc');foreach my $file (@scriptfiles){ my $var; my $filename = "D\:\\"; $var = $filename."$file"; print $var ; my $document = Win32::OLE -> GetObject("$var"); print "Extracting Text ...\n"; my @array; my $paragraphs = $document->Paragraphs(); my $enumerate = new Win32::OLE::Enum($paragraphs); while(my $paragraph = $enumerate->Next()) { my $text = $paragraph->{Range}->{Text}; $text =~ s/[\n\r\t]//g; $text =~ s/\x0B/\n/g; $text =~ s/\x07//g; chomp $text; my $Data .= $text; @array=split(/\.$/,$Data); foreach my $line( @array) { if ($print_next) { print $out_fh $line."\n" ; # we add a "\n" ; #No n+eed to chomp - we print the "\n" local $\ = "<br>\n"; local $/="\n\n"; } $print_next = ($line =~ /^Tag\sYes/); } } } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The above snippet is printing the output as follows:
ID : 002ID : 003ID : 008
I dont want the ID to be printed and how to extract the corresponding function and file name?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
sorry for the trouble......
i have this file that contains the following:
00:00:21 Queue key, Queue Name=
00:00:21 Sending Message :<EXGC-EXGU xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trans_id>EXGC</trans_id>
<sys_prefix>GSYS</sys_prefix>
... (3 Replies)
Discussion started by: forevercalz
3 Replies
2. Shell Programming and Scripting
Hi
I have a file whose sample contents are shown here,
1.2.3.4->2.4.2.4 a(10) b(20) c(30)
1.2.3.4->2.9.2.4 a(10) c(20)
2.3.4.3->3.6.3.2 b(40) d(50) c(20)
2.3.4.3->3.9.0.2 a(40) e(50) c(20)
1.2.3.4->3.4.2.4 a(10) c(30)
6.2.3.4->2.4.2.5 c(10)
.
.
.
.
Here I need to search... (5 Replies)
Discussion started by: AKD
5 Replies
3. Shell Programming and Scripting
Hello all,
searching on a text file (log file) is quite simple:
grep -i texttosearch filename | grep somethingWhat I'm trying to do is filter the result by TAG and remove the double entries.
Like if the log file contains the following text (fields are separated by commas):
... (18 Replies)
Discussion started by: Lord Spectre
18 Replies
4. Shell Programming and Scripting
Hi All,
I have to search for patterns from a pattern file in a file and mark the matching lines.
Input File:
Student1 60 30
Student2 71 91
Student3 88 98
Pattern file:
Student1 Fail
Student2 Pass
Student2 Pass
Desired output:
Student1 60 30 Fail
Student2 71 91 Pass (5 Replies)
Discussion started by: saint2006
5 Replies
5. Shell Programming and Scripting
Hi,
I have an XML file with around 1 billion rows in it and i am trying to find the number of times a particular tag occurs in it. The solution i am using works but takes a lot of time (~1 hr) .Please help me with an efficient way to do this.
Lets say the input file is
<Root>
... (13 Replies)
Discussion started by: Sheel
13 Replies
6. Shell Programming and Scripting
I want to print from <fruits> to </fruits> tag which have <fruit> as mango. Also i want both <fruits> and </fruits> in output. Please help
eg.
<fruits>
<fruit id="111">mango<fruit>
.
another 20 lines
.
</fruits> (3 Replies)
Discussion started by: Ashik409
3 Replies
7. Shell Programming and Scripting
I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help
File:
<xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies
8. Shell Programming and Scripting
Hi All,
I am working with a XML file.
Below is part for the file.
<Emp:Profile>
<Emp:Description>Admin</Emp:Description>
<Emp:Id>12347</Emp:Id>
</Emp:Profile>
<Emp:Profile>
... (7 Replies)
Discussion started by: Girish19
7 Replies
9. Shell Programming and Scripting
Hi All,
I'm new to sed.
In following XML file
<interface type='direct'>
<mac address='52:54:00:86:ce:f6'/>
<source dev='eno1' mode='bridge'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
... (8 Replies)
Discussion started by: varunrapelly
8 Replies
10. UNIX for Beginners Questions & Answers
awk 'BEGIN{print "<table>"} {print "<tr>";
for ( i=1;i<NF;i++) print " <td>" $I "</td>";
print "</tr>"}
END{print " </table>"}' <file name > (6 Replies)
Discussion started by: Himanshu1
6 Replies
LEARN ABOUT DEBIAN
test::bdd::cucumber::executor
Test::BDD::Cucumber::Executor(3pm) User Contributed Perl Documentation Test::BDD::Cucumber::Executor(3pm)
NAME
Test::BDD::Cucumber::Executor - Run through Feature and Harness objects
VERSION
version 0.11
DESCRIPTION
The Executor runs through Features, matching up the Step Lines with Step Definitions, and reporting on progress through the passed-in
harness.
METHODS
steps
add_steps
The attributes "steps" is a hashref of arrayrefs, storing steps by their Verb. "add_steps()" takes step definitions of the item list form:
(
[ Given => qr//, sub {} ],
),
and populates "steps" with them.
execute
Execute accepts a feature object, a harness object, and an optional Test::BDD::Cucumber::TagSpec object and for each scenario in the
feature which meets the tag requirements (or all of them, if you haven't specified one), runs "execute_scenario".
execute_scenario
Accepts a hashref of options, and executes each step in a scenario. Options:
"feature" - A Test::BDD::Cucumber::Model::Feature object
"feature_stash" - A hashref that should live the lifetime of feature execution
"harness" - A Test::BDD::Cucumber::Harness subclass object
"scenario" - A Test::BDD::Cucumber::Model::Scenario object
"background_obj" - An optional Test::BDD::Cucumber::Model::Scenario object representing the Background
"scenario_stash" - We'll create a new scenario stash unless you've posted one in. This is used exclusively for giving Background sections
access to the same stash as the scenario they're running before.
For each step, a Test::BDD::Cucumber::StepContext object is created, and passed to "dispatch()". Nothing is returned - everything is played
back through the Harness interface.
add_placeholders
Accepts a text string and a hashref, and replaces " <placeholders" > with the values in the hashref, returning a string.
dispatch
Accepts a Test::BDD::Cucumber::StepContext object, and searches through the steps that have been added to the executor object, executing
against the first matching one.
You can also pass in a boolean 'short-circuit' flag if the Scenario's remaining steps should be skipped.
skip_step
Accepts a step-context, a result-type, and a textual reason, exercises the Harness's step start and step_done methods, and returns a
skipped-test result.
AUTHOR
Peter Sergeant "pete@clueball.com"
LICENSE
Copyright 2011, Peter Sergeant; Licensed under the same terms as Perl
perl v5.14.2 2012-05-20 Test::BDD::Cucumber::Executor(3pm)