Perlscript zur Batchbearbeitung von Filenamen
ins.pl
—
text/x-perl,
1 KB
Dateiinhalt
#!/usr/bin/perl -w # Peter Appel, pa@min.uni-kiel.de, 8-7-2008 # usage: # $rname.pl /targetDir .extension StringToInsertBeforeDot # Arguments must be given # Dieses Script fügt StringToInsertBeforeDot vor dem ersten Punkt im Filename ein. # und ersetzt die Fileextension durch .extension. # Hidden Files are not changed # Files without extension are replaced by files with extension # Also Names of directories will be changed (this prevents recursively changing # all file names through a directory tree) # USE AT YOUR OWN RISK! use File::Find; $ARGV[0] = ('.') unless @ARGV; sub process_file { my $string = $_; my $origfilename = $_; my ($substring) = $string =~ /(.*)?\./; $_ = $substring . $ARGV[2] . $ARGV[1]; # Prüfen, ob das erste Zeichen ein Punkt ist (hidden File). Diese Files nicht # umbenennen. if ((!/^\./) && (! m/ins.pl/) ) { rename $string, $_; print $_ . "\n"; } } find(\&process_file, $ARGV[0]);