Hallo,
ich möchte über ein Perlskript die Ausgabe des UNIX Befehls "df" auswerten. Dazu habe ich folgenden Code:
Code:
my $COUNT = 0;
my @FS = ();
open(DF, "df |") or die "Fehler beim Forken von: $!\n";
while(<DF>){
if("$COUNT" gt 0){
my @TMP = split(/ /, $_);
push(@FS, $TMP[0]);
}
$COUNT++;
}
close(DF);
Mit diesem Konstrukt bekomme ich die Dateisysteme, also die erste Spalte von "df", in den Array @FS. Mein eigentliches Ziel ist es aber die letzte Spalte von "df", also die Mountpoints, in den Array zu bekommen.
Ich habe bei split ja als Trennzeichen ein Leerzeichen angegeben, aber die Leerzeichen bis zur zweiten Spalte von "df" sind ja variabel, also komme ich so nicht an die letzte Spalte ran. Zur Veranschaulichung nochmal die Ausgabe von "df":
Code:
Dateisystem 1K-Blöcke Benutzt Verfügbar Ben% Eingehängt auf
/dev/sda3 2016044 145808 1767824 8% /
Kann mir da jemand weiterhelfen?
Btw, ich hole mir in meinem Skript die Mountpoints noch durch eine zweite Schleife über "mount". Hier sind ja die Felder immer nur mit einem Leerzeichen getrennt. Aber ich würde gerne wissen, wie man die letzte Spalte schon bei "df" extrahiert.
Danke und Gruß,
pertze
Lesezeichen