1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

regulären Ausdruck an einem bestimmten Muster etwas hinzufügen

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von joon, 20.11.09.

  1. joon

    joon Grahams Jubiläumsapfel

    Dabei seit:
    17.06.07
    Beiträge:
    106
    Hallo Forum,

    ich habe folgende Zeilen (ein paar Hundert davon), die nach folgendem Schema aufgebaut sind:
    Code:
    1337-8171-1798-000000094;7;1798-07;T
    1337-8171-1798-000000096;7;1798-07;T
    1337-8171-1798-000000097;8;1798-08;T
    1337-8171-1798-000000098;8;1798-08;T
    Ich möchte dass nach dem zweiten Semikolon das "1798-xx" (wobei xx zwei Ziffern sind) die Zeichenfolge "-01" drangehängt wird.

    Also es sollte ungefähr so aussehen:
    Code:
    1337-8171-1798-000000094;7;1798-07-01;T
    1337-8171-1798-000000096;7;1798-07-01;T
    1337-8171-1798-000000097;8;1798-08-01;T
    1337-8171-1798-000000098;8;1798-08-01;T
    Ich krieg das mit den regulären Ausdrücken nicht hin...

    Vielen Dank!
     
  2. Irgendein Held

    Irgendein Held Oberösterreichischer Brünerling

    Dabei seit:
    17.06.07
    Beiträge:
    714
    Beispiel fuer Ruby:
    Code:
    irb(main):001:0> "1337-8171-1798-000000094;7;1798-07;T".gsub(/(;\w)$/,"-01\\1")
    => "1337-8171-1798-000000094;7;1798-07-01;T"
    Das Pattern ist: /(;\w)$/
    Du benoetigt eine Funktion, die dir das ersetzen ermoeglicht.
    In meinem Fall war das gsub. Dort setzt du dein -01 vor die Backreference \1
    und das sollte es gewesen sein.


    Viel Erfolg.
     
  3. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Oder wenn du es direkt in vi ändern möchtest:

    Code:
    :%s/;1798-\([0-9][0-9]\);/;1798-\1-1;/g
    
    Oder allgemeiner einfach vor das dritte Semikolon -1 schreiben:

    Code:
    :%s/\(;.*;.*\);/\1-1;/g
     
  4. Irgendein Held

    Irgendein Held Oberösterreichischer Brünerling

    Dabei seit:
    17.06.07
    Beiträge:
    714
    Auch da kann man sich kuerzer fassen ;)
    Code:
    :%s/\(;\w$\)/-01\1/g
     
  5. joon

    joon Grahams Jubiläumsapfel

    Dabei seit:
    17.06.07
    Beiträge:
    106
    Hallo ihr beiden,

    vielen Dank für die Tips!!!
     

Diese Seite empfehlen