grep using Perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep using Perl
# 1  
Old 04-08-2009
grep using Perl

I'm using perl to do a grep of each line in a vendor file and find its occurrences in a specific directory. Any values found is saved in @dir.


.....(file opened, etc.)
....
while ($line=<FILE>){
@dir = `grep $line * `;
}

It's the specific usage of the system grep that I'm having trouble with in Perl.
Is scaler variables' interpolation going to occur correctly with this?
It isn't coming back out of the while loop.
# 2  
Old 04-08-2009
please see its usage from perldoc -f grep.
anyway, you don't have to use grep. just simple regex will do. perldoc perlre
# 3  
Old 04-08-2009
looks like you're trying to search for a line from a file in all other files in
the directory???

what practical application does this have?
# 4  
Old 04-08-2009
Quote:
Originally Posted by quirkasaurus
looks like you're trying to search for a line from a file in all other files in
the directory???

what practical application does this have?
Actually, what I'm trying to do is determine if specific vendor numbers exist in a specific directory. There are multiple files in the directory. One found, save in another file.

So, in Unix the grep would be

grep "myvendor" mydir/*


But I cannot get the syntax down using Perl. Newbie.
# 5  
Old 04-08-2009
are the vendor numbers part of the file name ?
or do they exist in text within the files ?
# 6  
Old 04-08-2009
something like this:? ( here i'm searching for the string "perl". You can substitute a variable for "perl". )

Code:
@a_junk = `grep -l perl *`;

foreach ( @a_junk ){
  print "found $_ \n";
  }

# 7  
Old 04-08-2009
Quote:
Originally Posted by gavineq
Actually, what I'm trying to do is determine if specific vendor numbers exist in a specific directory. There are multiple files in the directory. One found, save in another file.

So, in Unix the grep would be

grep "myvendor" mydir/*


But I cannot get the syntax down using Perl. Newbie.
Are you searching in the files for something or only searching for filenames in a directory?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to grep a pattern in perl?

hello Everyone i am a newbie. i have a file which contains the following E:\gtmproj\script\i486_nt\obj\check_geomtools.exe: o:\portsrc\spg\system_1\i486_nt\advapps\TK-2\objmt\winclockmtq.lib E:\gtmproj\script\i486_nt\obj\check_geomtools.exe:... (12 Replies)
Discussion started by: Rashid Khan
12 Replies

2. Emergency UNIX and Linux Support

Grep inline use perl

Hi, i have input like this : SS-ID VLAN MAC TIME IP RSSI MODE UAPSD BW GI WMOS DHCP IDENTITY ----- ---- --- ---- -- ---- ---- ----- -- -- ---- ---- -------- 1-1 0 C4:46:19:75:C1:55 23m 192.168.5.253 ... (5 Replies)
Discussion started by: justbow
5 Replies

3. Shell Programming and Scripting

Grep in line use perl

Hi, i want to create perl script to telnet and print the output. : This is the script that i have so far : #!/usr/bin/perl use lib '/usr/lib/perl5/5.14'; use Telnet (); $target = "192.168.5.1"; $user = "root"; $passwd = "admin123"; print... (2 Replies)
Discussion started by: justbow
2 Replies

4. Shell Programming and Scripting

Grep in PERL

Hi, Can anybody let me know how this grep will work. The input and output is not known. Also can you give me the details of any link where i can find clearly about grep Thanks in advance (1 Reply)
Discussion started by: irudayaraj
1 Replies

5. Shell Programming and Scripting

Perl + and Grep

Hi All i have this script that uses glob to look in /var/log/messages.* my @messagefiles = glob "/var/log/messages.*"; and the code that uses it is this grep { /NVRM: Xid/ } @messages) but this spits out this /var/log/messages-20111030:Oct 25 13:43:04 brent kernel: NVRM:... (10 Replies)
Discussion started by: ab52
10 Replies

6. Shell Programming and Scripting

perl grep implementation

Hi, I have a huge log file (~5 GB) generated in my server. I have to search through this file for the pattern matching "ERROR" and print only those lines. There is a Perl script available in the server and I have to add a new subroutine so that it will look for this regular expression pattern in... (3 Replies)
Discussion started by: royalibrahim
3 Replies

7. Shell Programming and Scripting

perl instead of grep 'conversion' help?

Hello: I butchered a shell script together, but my script kung-fu is 5 years old and all I've used for 5 years are for i loops. I hope that some perl guru can do in 5 minutes what takes me 5 weeks, so I am asking for help. I have a simple script using "grep -A 2 'string' /path/to/file" but... (4 Replies)
Discussion started by: Habitual
4 Replies

8. Shell Programming and Scripting

grep in perl

Hello I want to grep a line from a file saved in some directory. Can anyone please correct the code below: #!/usr/bin/perl -w $file = "/home/output.txt" $grep_line = "closing zip for topic"; `grep $grep_line* $file`; (1 Reply)
Discussion started by: sureshcisco
1 Replies

9. Shell Programming and Scripting

Perl grep

OK here's the situation: I have got these lines which I have got to parse. If the line contains a particular string and any element from a previously defined array I need to take that particular line and do some further processing. if ((grep(/$_/,$1)) && (grep($pattern,@myarr))) { #Do... (2 Replies)
Discussion started by: King Nothing
2 Replies

10. Shell Programming and Scripting

Perl array grep

Hi, I have the following array. @a=( ,); and want to push @a,() if the 6 is not in the $a. This is simplified out of a longer script but im trying for days now and get sick of it. Can any of you help me on this. Cheers Markus (1 Reply)
Discussion started by: elvis00
1 Replies
Login or Register to Ask a Question