Как открыть несколько папок и сравнить файлы в Perl? - PullRequest
0 голосов
/ 24 июня 2009

У меня есть parent_folder_1 и много вложенных папок внутри. У меня также есть parent_folder_2 и много подпапок внутри этого.

Подпапки содержат файлы .d.

Мне нужно получить число parent_folders, которое пользователь хочет сравнить.

Например:

«Сколько родительских папок вы хотите сравнить?»

Если пользователь вводит 4, сценарий должен запросить пути для всех четырех parent_folders.

И в одной родительской папке внутри одной вложенной папки есть еще одна папка с именем d folder, которая содержит файлы .d.

Я должен сравнить каждый файл .d во всех четырех родительских папках и поместить результаты в электронную таблицу Excel относительно того, какие файлы .d находятся в каких родительских папках.

Если xxx.d sf присутствует в parent folder1 и parent folder3, то вывод должен быть:

xxx.d  parent folder1 #this space is for parent folder2 if present# parentfolder3

Ответы [ 2 ]

3 голосов
/ 24 июня 2009

Это идея:

  • Используйте File :: Find для просмотра каталогов, подкаталогов и файлов.
  • В wanted(), проверьте:

    -f $ File :: Find :: name && $ File :: Find :: name = ~ /^.+\.d$/

  • Если приведенное выше условие оценивается как ложное, вернуть; иначе сравните файлы и заполните электронную таблицу.

0 голосов
/ 22 января 2013

U можете попробовать использовать

#opening the directory
opendir (DIR, $directory) or die $!;
#reading the directory 
while (my $file = readdir(DIR)) {
print $file;}
#thus the giving the accessing the file in the way u would like to.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...