VF-Sascha Geschrieben 5. Februar 2010 Geschrieben 5. Februar 2010 (bearbeitet) Hallo zusammen, hab ein Problem wofür ich gerade noch keine Lösung habe. Hoffe ihr habt eine. Problem: Ich habe mehrere Log-Dateien in einem Log Verzeichnis. Da die Dateibenennung ein bisschen wirr ist und ich sie nicht ändern kann muss ich rausfiltern welche dieser Logdateien die aktuellste ist. Das ganze möchte ich in Perl oder in einem Shell Skript schreiben. Kann mir einer helfen? Gruß Sascha Bearbeitet 5. Februar 2010 von VF-Sascha Zitieren
VF-Sascha Geschrieben 5. Februar 2010 Autor Geschrieben 5. Februar 2010 Nach langem probieren hab ich es endlich raus: my @logfiles=(""); #hier kommen dann die logs rein my $logfile=""; chdir($logpath); foreach $logfile (@logfiles) { my @modifydate = (localtime( time - ( 86400 * -M $logfile) ))[3..5]; my @today = (localtime)[3..5]; if( "@modifydate" eq "@today") { print "$logfile ist das aktuellste"; } } Gruß Sascha Zitieren
lupo49 Geschrieben 5. Februar 2010 Geschrieben 5. Februar 2010 Per Shell (wahrscheinlich unsauber) 'ls' -lt | awk '{print $8}' | head -n 2 | grep '[:alpha:]' Je nachdem, wie dein alias für 'ls' aussieht, müssen die Parameter noch geändert werden (wenn die ' um ls weg gelassen werden). Zitieren
VF-Sascha Geschrieben 8. Februar 2010 Autor Geschrieben 8. Februar 2010 Habs in Perl gemacht Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.