Roland M. Kruggel wrote:
Perl hört sich gut an.
Wäre es unverschämt von mir, wenn ich um einen perlaufruf bitten
würde. Dann könnte ich mir ein bash-script bauen das die ganzen 58
File nacheinander abklappert.
In Perl kannst auch Files mit einer Schleife durchlaufen, bzw. ganze
sogar ganze Hierarchien von Verzeichnissen.
Eine entsprechende Subroutine in Perl sieht etwa so aus:
sub read_files {
my (
$dir,
$sub_dir,
$file_extension,
$hash_ref
) = @_;
my $current_dir = check_dir ($dir);
local(*CURDIR);
print STDERR "opening dir \"$current_dir\" for read\n" if $VERBOSE
>= 2;
opendir(CURDIR,"$current_dir") or die "Can't open directory
\"$current_dir\"\n";
#rewinddir(DIR);
print STDERR "selecting files\n" if $VERBOSE >= 3;
my @entries = readdir CURDIR ;
#my @files = grep {/^.+\.$file_extension$/} readdir CURDIR ;
closedir (CURDIR);
#print "dir entries \t [ @files ] \n" if $VERBOSE >= 3;
for my $dir_entry ( sort @entries ) {
my $target = $current_dir . $dir_entry;
if ( $dir_entry =~ m/^$file_extension$/ ) {
read_file ($current_dir, $dir_entry, $hash_ref) if -f $target;
}
else {
if ( $dir_entry =~ m/^(\.\w|\w).*$/ ) {
read_files ($target, $sub_dir,
$file_extension,$hash_ref ) if -d $target;
}
}
}
}
Bei komplexeren Sachen ist Perl halt flexibler, aber das Erlernen zahlt
sich aus.
In Deinem Fall würde ein Shell-Script mit den üblichen Utilities auch
reichen. Ist halt eine Geschmacksfrage, ob man sich tiefer in bash & co
oder lieber gleich in Perl einarbeitet.
Mir war für das Umformatieren sed, awk, find, sort, tr, uniq etc. auf
die Dauer zu mühsam, weshalb ich Perl bevorzuge.
Helmut Wollmersdorfer
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)