Не удалось опорожнить мусорный ящик

Я написал небольшой скрипт Perl для исправления файлов. Этот скрипт очень простой, который рекурсивно проходит каталоги и извлекает файл и создает diff.

Usage: script_name.pl <source_dir> <dest_dir> <dir_2_create_diffs>

testpatch.pl

#!/usr/bin/perl

use File::Find;
my $source = $ARGV[0];
my $dest = $ARGV[1];
my $pathdir = $ARGV[2];

unless (defined $ARGV[2]) { print "Usage: $0 <source> <dest> <patch_directory>\n"; exit 0; }
my @alldir;
find sub {
     return if -d;
     push @alldir, $File::Find::name;
}, "$source";
for my $path ( @alldir) {
     my @tmp = split ("/",$path); my $rmt_dir = shift(@tmp); 
     my $fpath = join("/",@tmp);  my $fn = $tmp[-1];
     pop(@tmp); my $strp_path = join("/",@tmp);
     `mkdir -p $pathdir/$strp_path` unless( -d "$pathdir/$strp_path");
     `diff -dupN $path $dest$fpath > $pathdir/$strp_path/$fn.patch`;
}

Пример использования: $ ./testpatch.pl original_308/ tmp/ tmp1

Я создал образцы файлов (header.cpp, head1.S, head.S)

original_308 / arch / arm / boot: header.cpp original_308 / arch / arm / boot / сжато: head1.S head.S tmp / arch / arm / boot: header.cpp tmp / arch / arm / boot / compression: head1.S head.S

После запуска скрипта различия были

original_308 / arch / arm / boot: header.cpp tmp1 / arch / arm / boot / сжато: head1.S.patch head.S.patch

Надеюсь, это поможет.

1
задан 23 October 2013 в 02:54

0 ответов

Другие вопросы по тегам:

Похожие вопросы: