initiele import
This commit is contained in:
commit
d92c3e0f4b
1 changed files with 63 additions and 0 deletions
63
mvwrap/mvwrap
Executable file
63
mvwrap/mvwrap
Executable file
|
|
@ -0,0 +1,63 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
#
|
||||
# Scriptje om vi op de inhoud van directories los te laten
|
||||
# Makkelijker dan 6000 keer move met de hand doen
|
||||
# (C) 2001 Ward Wouts
|
||||
#
|
||||
|
||||
use IO::File;
|
||||
use File::Copy;
|
||||
use POSIX qw(tmpnam);
|
||||
|
||||
$DEBUG = 0;
|
||||
|
||||
#Read current dir
|
||||
opendir(DIRHANDLE, ".") or die "couldn't open .: $!";
|
||||
while ( defined ($filename = readdir(DIRHANDLE)) ) {
|
||||
if ($DEBUG) { print "Inside . is something called $filename\n"; }
|
||||
push @dir, "$filename\n";
|
||||
}
|
||||
closedir(DIRHANDLE);
|
||||
@source= sort @dir;
|
||||
if ($DEBUG) { print @source; }
|
||||
|
||||
# make tempfiles and install handler to remove them
|
||||
do { $target_name = tmpnam() }
|
||||
until $target = IO::File->new($target_name, O_RDWR|O_CREAT|O_EXCL);
|
||||
END { unlink($target_name) or die "Couldn't unlink $target_name: $!" }
|
||||
|
||||
foreach (@source) {
|
||||
print $target $_;
|
||||
}
|
||||
|
||||
close ($target);
|
||||
|
||||
@vi = ("vi", "$target_name");
|
||||
system(@vi) == 0
|
||||
or die "System @vi failed: $?";
|
||||
|
||||
open $target, $target_name;
|
||||
while (<$target>) {
|
||||
push @target, $_;
|
||||
}
|
||||
close ($target);
|
||||
if ($DEBUG) { print @target; }
|
||||
|
||||
unless ( scalar(@source) == scalar(@target) ) {
|
||||
die "source and target don't have the same number of lines";
|
||||
}
|
||||
|
||||
$i=0;
|
||||
while ( $i < scalar(@source) ) {
|
||||
$source=$source[$i];
|
||||
chomp($source);
|
||||
$target=$target[$i];
|
||||
chomp($target);
|
||||
unless ( $source eq $target ) {
|
||||
if ($DEBUG) { print "mv $source $target\n"; }
|
||||
move("$source", "$target")
|
||||
or die "move failed: $!";
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue