grep in perl code not working


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep in perl code not working
# 1  
Old 05-24-2011
grep in perl code not working

I am creting a script to delete files from /tmp directory. I have following code but fails to find file name start with id 2754.

What is wrong in : grep { /^(new_grp*|^$fleidb\_*/)/ } readdir(DIR);



Code:
#!/usr/bin/perl
my $dir = '/tmp';
my $fleidb = "2754";
print "$fleidb\n";
opendir(DIR, $dir) or die "Failed to open $dir: $!";
@FILES = grep { /^(new_grp*|^$fleidb\_*/)/ } readdir(DIR);
closedir (DIR);
####### Delete old files from /tmp
 print "Deleting following old Files from /tmp directory\n";
 #print "$FILES\n";
foreach $file (@FILES) {
   print "$file\n";
   unlink("$dir/$file") or die "Failed to remove $file: $!";
 }

# 2  
Old 05-24-2011
You might want to check those regex again. Your first one (new_grp*) will match new_grp, new_grp1, but also new_gr, since the asterisk means "0 or more of the previous character".

As for the second, first it's unnecessary to anchor the regex at the beginning again (^), you're matching 0 or more underscores, and it expects the filename to end with a forward slash.

What you probably want is
Code:
@FILES = grep { /^(new_grp.*|$fleidb_.*/)/ } readdir(DIR);

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep with variable not working

Hello, I am using below code : export ORAR=orp712z.int.thomsonreuters.com #echo $ORAR; if echo $ORAR|grep -i "_" then ORACLE_SID1= echo $ORAR|cut -f2 -d "_" echo $ORACLE_SID1 ORACLE_SID=fgrep "$ORACLE_SID1" /etc/oratab|cut -f1 -d ":" #echo $ORACLE_SID else ORACLE_SID1= echo $ORAR|cut... (1 Reply)
Discussion started by: admin_db
1 Replies

2. Shell Programming and Scripting

-v and -f option for grep not working

In solaris, i m trying to find the files having a particulat extension and then from the list i want to exclude those files which is present in a file. But it seems the -f and -v option are not working find $source -type f -name $extn | /usr/xpg4/bin/grep -F -v -f $exclude | while read... (7 Replies)
Discussion started by: millan
7 Replies

3. Programming

Grep not working of jobs

I am using csh. Output of command jobs {145}>jobs + Running /home/alokg/nedit-5.5-Linux-x86/nedit .cshrc Running /home/alokg/nedit-5.5-Linux-x86/nedit build/irun_usb2.log Running /home/alokg/nedit-5.5-Linux-x86/nedit... (3 Replies)
Discussion started by: alokgarg79
3 Replies

4. Shell Programming and Scripting

Perl code to grep a particular column in CSV format

Hi I want to grep a column 6 & column 7 from a CSV Format file & then i have to find the difference between these columns as these both columns contains date & time in 7/7/2012 9:20 this format . So kindly help me out ASAP. But please kindly dis xls has to be converted in csv format as may... (5 Replies)
Discussion started by: Prateek@123
5 Replies

5. UNIX for Dummies Questions & Answers

grep for word not working

Hi All..I need a help i am trying to find a word using below script whereas the word exists in my file nitin.txt as a directory but still i am getting "word not found" output..Your suggestions welcomed.: #to check for existence of nitin #!/bin/bash cd /apps/uat1/deploy/app ls -lrt >... (4 Replies)
Discussion started by: nattynitin
4 Replies

6. UNIX for Dummies Questions & Answers

grep -f not working

Hello, I'm going crazy about this. I'm using grep to filter some values as in pas -ef | grep asterisk. When I use the same with -f somefile something weird happens, if somefile is created with vi it'll work, if somefile is created with vi but values are pasted from an Excell file it will not work.... (2 Replies)
Discussion started by: seveman
2 Replies

7. Shell Programming and Scripting

grep not working ????

Hi, I've prob in doing grep. I want to grep line staring with number 531250 in the 1st column from a file (example in picture attached below) using command grep -w "531250" file my ideal result should be 531250 1 21 42.1 100 1e-05 ... (8 Replies)
Discussion started by: masterpiece
8 Replies

8. UNIX for Dummies Questions & Answers

grep not working

This condition is not able to grep , can any one tell what's wrong with this part. I am able to see from unix command but not with host script. echo "Checking for Loader Status " >> $REPFILE if test $? = 0 then echo "Successful termination of SQL*Loader "$LOADER1 >>... (5 Replies)
Discussion started by: u263066
5 Replies

9. UNIX for Advanced & Expert Users

cat and grep not working

I am trying to cat a file and then grep that file for a number. I can do it fine on other files but this particular file will not do anything. I tried running it on an older file from the same device but it is just not working. The file is nothing more than a flat file on a unix box. Here is just a... (3 Replies)
Discussion started by: jphess
3 Replies

10. Solaris

grep -r isn't working

Hi, I was trying to use this particular option of grep grep -r 'Search_pattern' * This command should ideally search all the occurrences of Search_pattern recursively within a directory & print it on shell prompt. But this command is not doing what is expected. It just displays nothin! ... (8 Replies)
Discussion started by: harishmitty
8 Replies
Login or Register to Ask a Question