>> Wenn jemand eine Idee hat oder einen Lösugsvorschlag wäre ich dankbar, leider kann ich nur einfache Bashscripte schreiben *schäm*Dann kannst dich ja auf die erste Lektion in Perl freuen :)
Du benoetigst das Modul File::Find, es durchsucht Ordner, dafuer stellt es die Funktion 'find' zur Verfuegung.
use File::Find; # importiert das File::Find-Modul
'find' uebergibt man eine Referenz (wie ein Zeiger) auf eine Subroutine die immer dann aufgerufen wird wenn der naechste Eintrag in einen Ordner gefunden wurde, das zweite Argument und alle weiteren Argumente sind Verzeichnisse in denen gesucht werden soll.
my $verzeichnis = 'C:/programm_ordner/attrib/';
find(\&gefunden, $verzeichnis);
Bei jeden Fund wird nun die Subroutine 'gefunden' aufgerufen, die hat die restliche Arbeit zu erledigen. Das waere, das Oeffnen der Datei, das Finden der gewuenschten Zeilen und Ausgabe in eine neue Datei ('ausgabe.txt').In der Variablen '$File::Find::name' steht der komplette Pfad zu der gefundenen Datei.
sub gefunden {
my $datei = $File::Find::name; # oeffnen der Datei
# zeilenweise Einlesen und
# Zeilen ueberspringen die nicht der Suche entsprechen
# gefundene Zeilen/Werte ausgeben
}
Oeffnen von Dateien zum Lesen und Schreiben geschieht mit Perl's 'open'-Funktion, fuer das zeilenweise Einlesen gibt es einen <DATEIHANDLE>-Operator bzw. die Funktion 'readline', fuer die Ausgabe verwendet man print.
Das finden der richtigen Zeile kann ueber die Funktion 'index' oder einen regulaeren Ausdruck (RegExp) erfolgen.Das sind simple Perlgrundlagen die schnell zu erlernen sind, unter http://www.fabiani.net/talks/ findest du ein PDF-Dokument "Einfuehrung in Perl" von Martin Fabiani, es behandelt auf (momentan) 58 Seiten sehr gut die Grundlagen von Perl, schon in der ersten Haelfte der Einfuehrung wird das Arbeiten mit Dateien erklaert. Das Modul File::Find ist etwas speziell deshalb habe ich die Funktionsweise oben kurz erklaert. Viel Spasz beim Lesen und Lernen :)
,,Gib einem Hungernden einen Fisch, und er wird einmal satt, lehre ihn Fischen, und er wird nie wieder hungern.''
Datum: 18.06.2007-17:47
