#!perl
sub trim # (@NonTrimmedArray)
{
my @out=@_;
for (@out)
{
s/^\s+//;
s/\s+$//;
}
return wantarray ? @out : $out[0];
}
sub fullPathFileName #($StartDirectory,$RegularExpression)
{
#my ($StartDirectory,$WhildCardSearch)= @_;
my ($StartDirectory,$RegularExpression)= @_;
my(@A,$e,$C,@B,$a,@C,@Dir,$InputDir,@AllTestSuitefiles,@TestSuitef
+iles,$p,@FullPath);
#Purpose is to extract all paths to directories and subdirectories
@A=`dir $StartDirectory /s/w ` ;
foreach $e (@A)
{
$C=substr($e,0,10);
#Extract only string that starts with Directory
if($C eq " Directory")
{
push(@B,$e);
}
}
# Directory of C:\cr1_qc\crnqcV3\CM\Bering\Results\object_test_
+mssql\Root\DirectorySuite\GroupsandRolesSuite\OutputPages
# I want to start from C:
foreach $a (@B)
{
push(@C,substr($a,14));
}
#Remove lash char that is whitespace
@Dir=trim(@C);
foreach $InputDir (@Dir)
{
opendir(ODH,"$InputDir")|| die "Can't open dir\n";
@AllTestSuitefiles=readdir(ODH);
# @TestSuitefiles=glob("$WhildCardSearch");
closedir(ODH);
# Find all files
@TestSuitefiles=grep(m/$RegularExpression/,@AllTestSuitefiles)
+;
foreach $p (@TestSuitefiles)
{
push(@FullPath,"$InputDir\\$p");
}
}
return @FullPath;
}#fullPathFileName
$LocationOfTheStartDir='C:\chat';
$RegExp='\.txt$';
@AllFilePaths=fullPathFileName($LocationOfTheStartDir,$RegExp);
foreach $InputFile (@AllFilePaths){
@AllLinesFromTheFile = `type $InputFile`;
foreach $line (@AllLinesFromTheFile){
if ($line=~/DesiredString/){
print "$line";
}
}
@AllLinesFromTheFile=();
}
(: Life is short enjoy it :)
|