Perl Simple Grep - PullRequest
       4

Perl Simple Grep

0 голосов
/ 06 ноября 2011

Я хочу создать простой вызов grep в perl. У меня есть 2 переменные. $ Var1, $ var2 и я хочу получить все файлы, имя файла начинается с $ var1, а конец файла - $ var2 какой будет синтаксис команды grep в perl, которая это делает.

Ответы [ 3 ]

1 голос
/ 06 ноября 2011

Что-то вроде:

my @files = grep {/\A$var.*$var2\z/} @input_files

будет делать

1 голос
/ 06 ноября 2011

Получает все имена файлов в текущем каталоге, которые начинаются с $var1 и заканчиваются $var2:

my @matchingFileNames = <$var1*$var2>;

РЕДАКТИРОВАТЬ: для обработки пробелов и специальных символов, как @Schwern и @ikegami правильно указали:

my @matchingFileNames = <\Q$var1\E*\Q$var2\E>;
0 голосов
/ 06 ноября 2011
opendir(DIR, "yourDIR");
my @FILES= readdir(DIR);
my @matching_files;

for my $file (@FILES) {
  push(@matching_files, $file) if ($file =~ /\A$var1/ and $file =~ /$var2\z/)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...