Levent: die letzten 4 buchstaben eine datei

hi

wie kriege ich die letzten vier buchstaben
einer datei? und von diesen letzten vier
buchstaben brauche ich genau genommen
die ersten beiden, um den Monat des logfiles
zu ermitteln ...

gruss
ich :)

  1. hi

    wie kriege ich die letzten vier buchstaben
    einer datei? und von diesen letzten vier

    /^(.*?)(\w{4}/ # see $2

    buchstaben brauche ich genau genommen
    die ersten beiden, um den Monat des logfiles

    $2 =~ /(\w{2})(\w{2})/; # now, see $1

    ungeprüft, Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. also mit dem erhalte ich die ersten vier
      buchstaben also von vorne aus gesehen:

      $2 =~ /(\w{2})(\w{2})/; # now, see $1

      ich habs so hinbekommen:

      =~ /(\w{2})(\w{2}).log/

      war eine riesen hilfe !! danke ..

      gruss
      levent

    2. Moin!

      wie kriege ich die letzten vier buchstaben
      einer datei? und von diesen letzten vier

      /^(.*?)(\w{4}/ # see $2

      Warum so kompliziert? Zwei Klammern? Überflüssig!

      /(.{4})$/
      -> $1 enthält die letzten 4 Zeichen des Strings (wobei der nur aus einer Zeile bestehen darf, ansonsten muß man mit Multiline-Optionen ran).

      buchstaben brauche ich genau genommen
      die ersten beiden, um den Monat des logfiles

      $2 =~ /(\w{2})(\w{2})/; # now, see $1

      Ebenfalls wieder viel zu kompliziert.

      /(.{2}).{2}$/
      -> $1 enthält die gewünschten zwei Zeichen vor den letzten zwei Zeichen.

      - Sven Rautenberg

      --
      "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
      (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
      1. hi!

        $2 =~ /(\w{2})(\w{2})/; # now, see $1
        Ebenfalls wieder viel zu kompliziert.
        /(.{2}).{2}$/

        Oder gleich /(..)..$/ ;)

        bye, Frank!

        --
        Never argue with an idiot. He will lower you to his level and then
        beat you with experience.
    3. Hallo Erwin,

      hm, ist ja gut und schön mit dem RegEx, allerdings setzt dieser meiner Meinung nach voraus, dass die Datei zuvor komplett, also Zeile für Zeile, eingelesen wird. Da dürfte seek doch ressourcenschonender sein:

      open(FH, "<$logfile") || die $!;
      seek(FH, -4, 2);
      read(FH, $gesucht, 2);
      close(FH);

      Man möge mich korrigieren, wenn ich da was falsch sehe ;)

      Grüße
      Torsten

      1. Man möge mich korrigieren, wenn ich da was falsch sehe ;)

        Er (der OP) suchte offensichtlich die letzten vier Buchstaben des Datei_namens_ ohne die Windows Dateiendung.

        Struppi.

        1. Hallo Struppi,

          Man möge mich korrigieren, wenn ich da was falsch sehe ;)
          Er (der OP) suchte offensichtlich die letzten vier Buchstaben des Datei_namens_ ohne die Windows Dateiendung.

          Ähm, ja, so könnte es auch gemeint sein :-)

          Grüße
          Torsten

        2. Hallo Struppi,

          würde mich trotzdem mal interessieren, ob ich mit meiner Vermutung richtig liege (für den Fall, dass die ersten zwei der letzten 4 Buchstaben des Dateinhalts gesucht wären).

          Grüße
          Torsten

  2. Hallo Levent,

    wie kriege ich die letzten vier buchstaben
    einer datei?

    Versuche es mal mit seek:
    http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#seek

    Grüße
    Torsten