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

В моем Perl-коде мне нужно скопировать каталог из одного места в другое на том же хосте, исключая некоторые файлы / шаблоны (например, * .log, ./myDir/abc.cl). Каков оптимальный способ сделать это в Perl на всех платформах? В Windows xcopy является одним из таких решений. На платформах Unix, есть ли способ сделать это в Perl?

Ответы [ 3 ]

4 голосов
/ 22 марта 2010

Я думаю, что вы ищете Rsync.Это не Perl, но он будет работать намного лучше, чем все, что вы делаете в Perl.

2 голосов
/ 22 марта 2010

Я бы использовал File::Find и перешел бы через каждый файл, но вместо того, чтобы вызывать File::Copy s copy() для каждого файла, сначала проверьте, соответствует ли он шаблону, а затем next, если он делает.

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

В * nix вы можете использовать собственную команду tar с опциями -exclude . Затем, после создания файла tar, вы можете перенести его в место назначения, чтобы распаковать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...