Thread bestimmte Zeile einer Datei in ein Array
(5 answers)
Opened by wenze at 2015-10-29 11:27
Beispielhalfter Ablauf:
- Öffne die Datei lesend - lese zeilenweise - - überspringe Zeilen, die nicht die gewünschte DB betreffen - - vergleiche die gewünschten Spaltenwerte mit den gesetzten Limits - - - gebe Info aus, wenn Limits überschritten werden - schließe Datei Hier ein ungetesteter Schnellschuß aus der Mittagspause: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /usr/bin/perl use strict; use warnings; my $filename = "sqldaten.txt"; my $wanted_db = "XX1"; my $free_space_threshold = 12; my $db_full_percent_threshold = 90; open my $rh, '<', $filename or die "Error: open($filename) failed: $!"; while ( my $line = <$rh> ) { my ( $dbname, $free_space, $db_full_percent ) = ( split m{\s+}, $line )[0,2,3]; next if $dbname ne $wanted_db; if ( $free_space < $free_space_threshold ) { printf "%s running out of space: %s MB left\n", $dbname, $free_space; } if ( $db_full_percent > $db_full_percent_threshold ) { printf "%s running full: %s %% filled.\n", $dbname, $db_full_percent; } } close $rh; PS: Beachte Raubtiers Hinweise bezüglich des Leerzeichens am Zeilenanfang. Ggfs. sind die Indizes der Spalten anzupassen. Last edited: 2015-10-29 12:58:43 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |