-1

これらのファイルが見つかったら、フォルダー内の 2 つのファイルを検索するスクリプトを作成しようとすると、別のファイルに対して何らかの操作を実行する必要があります。

このスクリプトには Windows を使用しています。

以下は、フォルダーの階層です。

                      Logs
                     / | \  
                 abc   def   xyz
                 / \   / \     /\
               ANR etc ANR etc ANR etc

etc= テキストファイル。

私がやろうとしていること:

ANR フォルダに 2 つのファイル (pqr.txt と rst.txt) が存在するかどうかを確認したい、それらのファイルが存在する場合は、特定のテキスト ファイルを 1 つ読み込んでその中のキーワードを検索する必要があるなどの操作を行います。特定のテキスト ファイル。

私はどのように近づいていますか:

#!/bin/usr/perl -w
use strict; 
use Cwd; 
use File::Find; 
my $dir ="C:\APTscripts\APStress\Logs";

find(\&file_operation,$dir);

$first_file = @ARGV[0];
$sec_file= @ARGV[1];

sub file_operation
{
    my $file = $_;
    if(($file =~ /teaces/) && ($file =~ /traces.txt.bugreport/))
    {
        Do some opeartion 
    }
}

しかし、このロジックでは、私がやろうとしていることは何でもできません。これで私を助けることができる体はありますか?

4

1 に答える 1

1

これは、説明に従って親フォルダーをチェックします。

sub file_operation {
    my $file = File::Spec->rel2abs($_);
    if(($file =~ /traces/) && ($file =~ /traces.txt.bugreport/)) {
        my ($parent) = ($file =~ m!(.*)/!);
        if (-f "$parent/ANR/pqr.txt" or -f "$parent/ANR/rst.txt") {
            print "Do some opeartion: $file $parent\n";
        }   
    }   
}
于 2013-05-21T07:43:49.990 に答える