Anzeige:
Ergebnis 1 bis 3 von 3

Thema: AWK noob Frage (suchen+ersetzem)

  1. #1
    ratzfatz
    Gast

    AWK noob Frage (suchen+ersetzem)

    Hi habe ein awk script geschrieben welches in einem Text 2 TAGs suchen soll und die Zeileninhalte zw. den beiden TAGs ausgeben soll:

    Code:
     found=1 
     {
      if ( index($0,"Tag1") )
          found=0
      if ( index($0,"Tag2"))
          found=1
      if (found==1)
       print "to be deleted"
      else
       print "$0"
     }
    Falls das erste Tag gefunden wurde sollen die zeilen dazwischen ausgegeben werden ($0) und ausserhalb der beiden Tags sollen die Zeilen mit "to be deleted" ersetzt werden.

    Das Ergebnis ist allerdings das urspuengliche file immer noch komplett ausgegeben wird und nach jeder Zeile das "to be deleted" eingefuegt wird. Im Grunde scheint es also zu funktionieren nur wird eben das urspruengliche file komplett mit kopiert

    ich starte mein file mit awk -f Programname input.file und schreibe den output auf die console.

  2. #2
    cdp_xe
    Gast
    Ich verstehe dein Problem nicht. Willst Du nun die Spalten oder die Zeilen dazwischen ausgeben?

  3. #3
    cdp_xe
    Gast
    ... also nachdem ich dein posting ca. 5 mal las, glaube ich verstanden zu haben, was dein problem ist. die lösung wäre dann das found=1 in ein BEGIN zu schreiben.

    Code:
    BEGIN {
        found = 1
    }
    {
        (dein restlicher Code)
    }
    ich hoffe, das hilft dir weiter.

    --steffen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •