Coding/Perl 삽질기

폴더내 모든 파일에서 특정 스트링이 포함된 라인만 추출하는 스크립트

chobocho 2010. 2. 10. 01:44
#
# Date : 2010. 2. 10
#
###############################################
# Folder Name

$DIR_NAME = ".";
###############################################

@expressions = ( "Hello", "world" );

opendir (DIR, $DIR_NAME) || die "Can't open folder";
@FILE_LIST = readdir DIR; 
closedir (DIR);


foreach $filename(@FILE_LIST)
{
    if (-f $filename) 
    {
        print $filename."\n";
    
        open (IN_FILE, "<".$filename) || die $!;
         
        while (my $line = <IN_FILE>) 
        {
            foreach $expression(@expressions)
            {
                if ( $line =~ /$expression/ )
                {
                    print $line;
                }
            }
        }

        close (IN_FILE);
    } 
}