Sponsored Content
Top Forums Shell Programming and Scripting Perl - How to search a text file with multiple patterns? Post 302300734 by Sp3ck on Wednesday 25th of March 2009 12:31:48 AM
Old 03-25-2009
Perl - How to search a text file with multiple patterns?

Good day, great gurus,

I'm new to Perl, and programming in general. I'm trying to retrieve a column of data from my text file which spans a non-specific number of lines. So I did a regexp that will pick out the columns. However,my pattern would vary. I tried using a foreach loop unsuccessfully. How would I thus go about creating a script in perl that would:
1) Run a list of patterns (names in this case)
2) A pattern search of each in a file

The code I managed so far is this :

Code:
!/usr/bin/perl
use warnings;
use strict;



my @identity = qw/Joseph Clark May/;


my $data_file = 'C:\tests\Profiles.txt';
open (DAT, $data_file);

foreach $name(@identity) {
    while (<DAT>) {
        print if (/$name/ .. /\/\//);
    }
}

    

close (DAT);



So a data file like this:
NAME Joseph
blah
blah
blah
//
NAME Kent
blah
blah
blah
blah
//
NAME Clark
blah
blah
//
...


would give me this (after running the script):
Code:
NAME Joseph
blah
blah
blah
//
NAME Clark
 blah
 blah
 blah
blah
 //
NAME May
blah
blah
blah
//

above is just an example, but the file is huge, and so I just need to filter out these data. Any ideas much appreciated Smilie

Oh, and I only get one result, which is Joseph's data....

Last edited by Yogesh Sawant; 03-25-2009 at 06:45 AM.. Reason: added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to parameterize multiple search patterns and generate a new file

I have one file: 123*100*abcd*10 123*101*abcd*-29*def 123*100*abcd*-10 123*102*abcd*-105*asd I would like to parameterize the search patterns in the following way so that the user could dynamically change the search pattern. *100* and *- (ie *minus) *102* and *- The output that is... (6 Replies)
Discussion started by: augustinep
6 Replies

2. Shell Programming and Scripting

Perl: Match a line with multiple search patterns

Hi I'm not very good with the serach patterns and I'd need a sample how to find a line that has multiple patterns. Say I want to find a line that has "abd", "123" and "QWERTY" and there can be any characters or numbers between the serach patterns, I have a file that has thousands of lines and... (10 Replies)
Discussion started by: Juha
10 Replies

3. UNIX for Advanced & Expert Users

Best way to search for patterns in huge text files

I have the following situation: a text file with 50000 string patterns: abc2344536 gvk6575556 klo6575556 .... and 3 text files each with more than 1 million lines: ... 000000 abc2344536 46575 0000 000000 abc2344536 46575 4444 000000 abc2344555 46575 1234 ... I... (8 Replies)
Discussion started by: andy2000
8 Replies

4. Shell Programming and Scripting

Search multiple patterns in multiple files

Hi, I have to write one script that has to search a list of numbers in certain zipped files. For eg. one file file1.txt contains the numbers. File1.txt contains 5,00,000 numbers and I have to search each number in zipped files(The number of zipped files are around 1000 each file is 5 MB) I have... (10 Replies)
Discussion started by: vsachan
10 Replies

5. Shell Programming and Scripting

search multiple patterns

I have two lists in a file that look like a b b a e f c d f e d c I would like a final list a b c d e f I've tried multiple grep and awk but can't get it to work (8 Replies)
Discussion started by: godzilla07
8 Replies

6. Shell Programming and Scripting

How to search Multiple patterns in unix

Hi, I tried to search multiple pattern using awk trans=1234 reason=LN MISMATCH rec=`awk '/$trans/ && /'"$reason"'/' file` whenevr i tried to run on command promt it is executing but when i tried to implment same logic in shell script,it is failing i.e $rec is empty ... (6 Replies)
Discussion started by: ns64110
6 Replies

7. Shell Programming and Scripting

Search and swap multiple lines in file using Perl

Hi all, I have a vcd file with a bunch of lines containing an array, like this $var wire 1 b a $end $var wire 1 c a $end $var wire 1 d a $end $var wire 1 e a $end $var wire 1 f b $end $var wire 1 g b $end $var wire 1 h b $end $var wire 1 i b $end I want it like this: $var wire 1 e a... (12 Replies)
Discussion started by: veerabahu
12 Replies

8. Shell Programming and Scripting

How to search multiple patterns and remove lines from a file?

Hi, I have a file content as below. Table : PAYR Displayed fields: 15 of 15 Fixed columns: 4 List width 0999... (4 Replies)
Discussion started by: shirdi
4 Replies

9. Shell Programming and Scripting

Search patterns in multiple logs parallelly.

Hi All, I am starting a service which will redirect its out put into 2 logs say A and B. Now for succesful startup of the service i need to search pattern1 in log A and pattern2 in log B which are writen continuosly. Now my requirement is to find the patterns in the increasing logs A and B... (19 Replies)
Discussion started by: Girish19
19 Replies

10. Shell Programming and Scripting

Search Multiple patterns and display

Hi, I have scenario like below and need to search for multiple patterns Eg: Test Time Started= secs Time Ended = secc Green test Test Time Started= secs Time Ended = secc Green test Output: I need to display the text starting with Test and starting with Time... (2 Replies)
Discussion started by: weknowd
2 Replies
CSS::DOM::Rule(3pm)					User Contributed Perl Documentation				       CSS::DOM::Rule(3pm)

NAME
CSS::DOM::Rule - CSS rule class for CSS::DOM VERSION
Version 0.14 SYNOPSIS
use CSS::DOM::Rule ':all'; # import constants use CSS::DOM; $sheet = new CSS::DOM; $sheet->insertRule('bla blah blah {}'); $rule = $sheet->cssRules->[0]; $rule->type; # STYLE_RULE $rule->cssText; # 'bla blah blah {}' or similar $rule->cssText('p { margin: 0 }'); # replace it $rule->parentStyleSheet; # $sheet DESCRIPTION
This module provides the CSS rule class for CSS::DOM. It implements the CSSRule and CSSUnknownRule DOM interfaces. METHODS
Constructor Only call the constructor on this class to create an 'unknown' rule. You have to call the constructor on a particular subclass to get another type. Normally you do not need to call this directly anyway. (See CSS::DOM's "parse" and "insertRule" methods.) But just in case you do want to call it, here it is: new CSS::DOM::Rule $parent; # unknown rule require CSS::DOM::Rule::Style new CSS::DOM::Rule::Style $parent; # etc. $parent is the parent rule, if the rule is nested, or the parent style sheet otherwise. Object Methods type Returns one of the constants below indicating the type of rule. cssText Returns this rule's CSS code. If you pass an argument, it will be parsed as the new CSS code for this rule (replacing the existing data), and the old value will be returned. This method will die if the replacement CSS code creates a different type of rule. parentStyleSheet This returns the style sheet to which the rule belongs. parentRule This returns the rule's parent rule, if there is one, or an empty list otherwise. There is only a parent rule if this one is nested, e.g., inside a media rule. EXPORTS
The following constants that indicate the type of rule will be exported on request (individually or with the ':all' tag): UNKNOWN_RULE STYLE_RULE CHARSET_RULE IMPORT_RULE MEDIA_RULE FONT_FACE_RULE PAGE_RULE SEE ALSO
CSS::DOM CSS::DOM::Rule::Style CSS::DOM::Rule::Media CSS::DOM::Rule::Page CSS::DOM::Rule::Import perl v5.10.1 2010-12-10 CSS::DOM::Rule(3pm)
All times are GMT -4. The time now is 04:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy