Как я могу распаковать несколько файлов в Perl? - PullRequest
2 голосов
/ 30 марта 2010

Как я могу распаковать несколько каталогов, а также добавить файлы с некоторым шаблоном, например, «.txt», исключить некоторые каталоги и исключить некоторые шаблоны, например «.exe», в один файл tar. Суть в том, что количество каталогов неизвестно (динамически), поэтому мне нужно пройтись по циклам, наверное?

Ответы [ 3 ]

7 голосов
/ 30 марта 2010

Я бы использовал Archive :: Tar и заполнил @filelist Class :: Path (в частности, Class::Path::Dir s recurse метод)

1 голос
/ 30 марта 2010

Предполагая, что вы выяснили, какие файлы вы хотите использовать, используя File :: Find, что-то вроде

    my @dir = qw/a b/ ;
    system "tar -cvf mytar @dir" ;

может работать. Но вы можете обнаружить, что командная строка слишком длинная.

В этом случае возможно записать список файлов в файл и использовать опцию

   --files-from=NAME

(и, пожалуйста, не говорите мне, что вам не разрешено писать в файлы)

0 голосов
/ 30 марта 2010

Если по какой-либо причине вы не можете или не имеете права устанавливать дополнительные модули помимо базовой системы, вы можете использовать File :: Find вместо Class :: Path.

Звучит так, как будто вы уже знаете, как вызывать команду system tar, поэтому я оставлю это на этом.

...