Snoopstar Geschrieben 13. Juni 2003 Geschrieben 13. Juni 2003 Hab da nen kleine Problem im AWK. Ich möchte innerhalb eines Perlscriptes den AWK aufrufen und damit den Inhalt eines Arrays bearbeiten. Die Felder im Array sind alle gleich strukturiert. Bsp.: /var/run /var/run/osx.man 6548 /Var/run/osx/lib/temp 225 /opt /opt/bin/xyz.man 9814 /opt/bin/abc 65768 und so weiter, nach dem Filesystemen sortiert. Nun will ich das die Dateigrössen am Ende des Feldes zusammenaddiert und nach der letzten Datei im jeweiligen Filesystem die Gesamtgrösse diese Dateien ausgegeben wird.:confused: :confused:
alligator Geschrieben 14. Juni 2003 Geschrieben 14. Juni 2003 Hallo, und wieso willst den AWK aufrufen ? Das kannst du doch ohne Probleme mit Perl machen. AWK ist ein Untermenge von Perl. cya alligator
alligator Geschrieben 14. Juni 2003 Geschrieben 14. Juni 2003 Hook nochmal, hier mal ein kurzer quickhack: my @test = ("t/e/st 12 ", "a/b/c 13"); my $sum; foreach (@test) { print "Dateinname + Groesse: $_\n"; $_ =~ /(.*?)\s(\d+)/g; print "Dateiname: $1\n"; ## im Idealfall wenn keine Leerzeichen im Dateiname $sum += $2; } print "Summe: $sum\n"; Es funktioniert zwar, aber wenn z.B. eine Vereichnis so aussieht: /opt/ich bin/das Verz 12/juhu/bli/bla/blub 12345 dann hast halt das Problem dass hier die 12 genommen wird anstatt die 12345. Der RegEx kann bestimmt noch optimiert werden. MfG alligator
alligator Geschrieben 14. Juni 2003 Geschrieben 14. Juni 2003 Servus, hier vielleicht eine kleine Verbesserung ... $_ =~ /(.*?)\s*(\d+)\s*?$/g; cya alligator
Snoopstar Geschrieben 16. Juni 2003 Autor Geschrieben 16. Juni 2003 :D :uli Vielen Dank, du hast mir sehr weitergeholfen!!!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden