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
Imager::QRCode(3pm)					User Contributed Perl Documentation				       Imager::QRCode(3pm)

NAME
Imager::QRCode - Generate QR Code with Imager using libqrencode SYNOPSIS
use Imager::QRCode; my $qrcode = Imager::QRCode->new( size => 2, margin => 2, version => 1, level => 'M', casesensitive => 1, lightcolor => Imager::Color->new(255, 255, 255), darkcolor => Imager::Color->new(0, 0, 0), ); my $img = $qrcode->plot("blah blah"); $img->write(file => "qrcode.gif"); # or instance method use Imager::QRCode qw(plot_qrcode); my $img = plot_qrcode("blah blah", \%params); $img->write(file => "qrcode.gif"); DESCRIPTION
This module allows you to generate QR Code with Imager. This module use libqrencode '2.0.0' and above. METHODS
new $qrcode = Imager::QRCode->new(%params); The "new()" constructor method instantiates a new Imager::QRCode object. "new()" accepts the following parameters. o "size" - Horizontal and vertical size of module(dot). Default is 4. o "margin" - Margin size of QR Code. Default is 3. o "level" - Error collectin level. Valid values are 'M', 'L', 'Q' or 'H'. Default is 'L'. o "version" - Version of the symbol. If specify '0', this module chooses the minimum version for the input data. Default is '0'. o "mode" - Encoding mode. Valid values are 'numerical', 'alpha-numerical', '8-bit' or 'kanji'. Default is '8-bit'. If not give "casesensitive" then should be given "mode". If 'kanji' is given, characters will be encoded as Shift-JIS characters. If '8-bit' is given, all of non-alpha-numerical characters will be encoded as is. If you want to embed UTF-8 string, choose '8-bit'. o "casesensitive" - If your application is case-sensitive using 8-bit characters, set to '1'. Default is '0'. plot($text) $img = $qrcode->plot("blah blah"); Create a new QR Code image. This method returns Imager object ploted QR Code with the given text. INSTANT METHODS
plot_qrcode($text, \%params) Instant method. $text is input text. %params is same parameter as "new()". SEE ALSO
"Imager", "http://www.qrcode.com/", "http://megaui.net/fukuchi/works/qrencode/index.en.html" AUTHOR
Yoshiki KURIHARA "<kurihara __at__ cpan.org>" THANKS
Tokuhiro Matsuno LICENCE AND COPYRIGHT
Copyright (c) 2011, Yoshiki KURIHARA "<kurihara __at__ cpan.org>". This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. perl v5.14.2 2012-12-16 Imager::QRCode(3pm)
All times are GMT -4. The time now is 12:21 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy