1

ディレクトリを解析して、さまざまなデバイスのホスト名を保持するファイルを取得するコードがあります。ただし、グロブが特定の深さのディレクトリを無視するようにしたいのですが、これは可能ですか? たとえば、私は

 my @files = glob('/tftpboot/configs/*/*');

私のフォルダアーキテクチャは次のようになります

/tftpboot/configs/core/router1 (where router1 is a file)
/tftpboot/configs/test/router2 (where router2 is a file)
/tftpboot/configs/test/firewall/context (context is a file)

ファイル router1、router2、および同様の深さのファイルを取得したい。ただし、その深さのファイルのコンテキストは無視したいと思います。助言がありますか?

ありがとうございました

4

1 に答える 1

2

に続いて:

@files = grep { !-d $_ } @files;
  -or-
@files = grep { -f $_ } @files;

File::Find::Ruleのようなものを使用することもできます。

my @files = File::Find::Rule->file->in('/tftpboot/configs');
于 2013-10-07T14:12:05.990 に答える