The following script does what is asked (and no more), using only Perl (with one core module) and looking in the current directory only (no recursion):
use strict; use warnings; use Cwd; @ARGV == 1 or die "USAGE: $0 <search_line>\n"; printf "Searching directory '%s' for the line '%s':\n\n", Cwd::getcwd(), $ARGV[0]; my $found = 0; opendir my $dh, '.' or die "Unable to open the current directory: $!"; while (my $file = readdir($dh)) { if (-f $file) { open my $fh, '<', $file or die "Unable to open file '$file' for reading: $!"; while (my $line = <$fh>) { chomp $line; if ($line eq $ARGV[0]) { print "Found match in file '$file'\n"; $found = 1; last; } } close $fh or die "Unable to close file '$file': $!"; } } closedir $dh or die "Unable to close the current directory: $!"; print "No matches found\n" unless $found;
HTH,
Athanasius <°(((>< contra mundum
In reply to Re: findline in all the files in a given directory
by Athanasius
in thread findline in all the files in a given directory
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |