Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

07.10.2006, 16:07

Einfaches Perl script Problem

Hallo

Ich habe leider keine Ahnung von Perl!
Aber ich muss leider ein perl-script ein klein wenig bearbeiten und bin ein wenig planlos!

Mein problem ist folgendes:

Ich habe eine variable $files!
In dieser stehen verschiedene dateinamen mit pfad durch leerzeichen getrennt!

so in etwa: $files= /usr/share/files/file1.txt /usr/share/files_bla/bla.log /tmp/bla1.log /tmp/files/files1/.txt

Ich muss nun alle dateinamen die mit .log enden aus dieser variable herraus filtern!
So das nur noch die .txt dateien in der variable stehen!

Eigentlich kein großes Problem. Ich hab nur keinen plan wie ich das mit perl mache:)!

Vielen Dank schonmal
keinerrr

2

24.11.2006, 06:50

Moin,

ich machs einfach mal kurz:

Quellcode

1
$files = join(' ', grep(/\.txt$/, split(/ /, $files)));


Aufgedröselt:

  1. split(/ /, $files) => trennt die Zeichenkette an jedem Leerzeichen heraus kommt ein Array.
  2. grep(/\.txt$/, ARRAY) => entfernt aus dem Array alle Elemente die nicht auf .txt enden.
  3. join(' ', ARRAY) => verbindet die Elemente des Arrays mit einem Leerzeichen -> fertig ist der String.
    [/list=1]


    mfg straffi

Thema bewerten