Hi zusammen!
Also ich habe ein paar Fragen zu Perl:
Ich versuche es mir gerade selber beizubringen aber bin ins stocken geraten.
Aber vieleicht kann mir ja hier jemand helfen.
Da es einfach ist was zu verstehen hier mal das was ich machen möchte:
Ich habe eine Datei „Log“ und eine Datei „DB“ in diesen Dateien sind x Zeilen.
Wie bekomme ich folgendes hin:
Vergleich 1. Zeile mit allen Zeilen der Datei Log
Wenn nicht Identisch->
Auslesen der 1 Zeile
Umbennen einer Datei von xxx_0.mp3 nach Inhalt.mp3 von Zeile 1 der „Log“ Datei.
Wenn eine weitere Zeile vorhanden, solange bis alle nicht Identischen abgearbeitet sind.
Wenn eine Zeile Identisch ist soll diese gelöscht, die Zeilennummer gemerkt werden und die Entsprechende Datei xxx_x.mp3 ( _x Entspricht der Zeilennummer der „Log“ Datei)gelöscht werden.
Anschliesend alle Zeilen von „Log“ an Datei „DB“ anhängen.
Und:
Verschieben von allen Dateien die nicht xxx_x.mp3 sind in ein Verzeichnis.
Ich weiss das es Total chaotisch ist aber ich habe erst heute angefangen es zu lernen und jeder hat mal klein angefangen, also bitte nicht schimpfen!
Hier der Quellcode mit dem ich rumgetestet habe:
Das ganze findet unter Linux statt wenn es eine Rolle spielen sollte.
code:
#!/usr/bin/perl -w
#wegschreiben in Datei DB
#open(DATEI,">>/Test/DB"); # oeffne Datei zum Anhaengen
#print DATEI „$text“; # in die Datei schreiben
#close(DATEI);
my $alt;
opendir(DIR,"/mp3");
my @alt = readdir (DIR);
closedir(DIR);
print „@alt\n“;
my $neu;
open (DATEI,„Log“) || die „Kann Datei nicht finden!“;
read (DATEI, $neu, 5);
#30
print „$neu\n“;
chdir("/mp3");
foreach $alt (@alt) {
if ($alt =~ /^xxx/) {
rename ($alt,$neu.".mp3");
}
}
my $umbennant;
#40
opendir(DIR,"/mp3");
my @umbennant = readdir (DIR);
closedir(DIR);
print „@umbennant\n“;
#File::Copy
chdir("/mp3");
mkdir „fertig“,0777;
#50
#opendir (DIR,"/mp3");
#my @fertige = readdir (DIR);
#if (my $fertige =~ /mp3$/); #wie bekomme ich nur die umbennanten Dateien Kopiert
#copy ("$fertige", „/fertig“);
#rename ($alt,$neu);
#print „Datei $alt in $neu umbennant\n“;
#60
#closedir(DIR);
Vielen Dank
Christian