воскресенье, 7 августа 2011 г.

Удаление всех .svn директорий.

Иногда, при работе с SVN-клиентами требуется удалить все директории .svn из директорий проекта.
Для этого можно воспользоваться следующим скриптом:



#!/usr/bin/perl

use strict;
my $dir = shift;

sub process
{
my $dir = shift;
opendir(my $dh, $dir) or die($!);
my @files = readdir($dh);
foreach my $f (@files)
{
my $nf = "$dir/$f";
if ($f eq '.svn' and -d $nf)
{
system("rm -Rf $nf");
}
elsif ($f ne '.' and $f ne '..' and -d $nf)
{
process("$nf");
}
}
}

process($dir);

2 комментария:

  1. А зачем для этого perl?

    find . -type d -name ".svn" -print0 | xargs -0 rm -rf

    ОтветитьУдалить
    Ответы
    1. Да, вот, как-то не силен в баше. Спасибо за способ.

      Удалить