SED - Spezial benötigt - finden von Pattern

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Hobbystern, 02.12.2009.

  1. #1 Hobbystern, 02.12.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hallo Gemeinde,

    sed ist ein guter Freund geworden, seit Jahren :-)

    Ich habe nunmehr eine Datei in welcher dank MS alles doppelt vorkommt, sieht etwa so aus :

    Code:
    <--START HTML-->
    jede menge text
    <--END HTML-->
    <--START HTML-->
    jede menge text
    <--END HTML-->
    
    Mittels sed oder awk müsste ich den zweiten - absolut identischen teil heruasschneiden und löschen oder halt teilen.

    Hat jemand eine gute Idee?

    LG STefan
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HeadCrash, 02.12.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Abend,

    auf die schnelle, einfach ausgeben lassen bis das end html auftaucht.

    Code:
    cat dummy.txt | while read line; do 
    if [ "$line" == "<--END HTML-->" ]; then 
       echo $line; 
       exit 0; 
    else 
       echo $line; 
    fi; 
    done
    
    <--START HTML-->
    jede menge text
    <--END HTML-->
    
    mfg
    HeadCrash
     
  4. #3 Hobbystern, 03.12.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hi HeadCrash,

    die Idee ist gut, leider geht es nicht - folgendes habe ich nunmehr eingesetzt :

    Code:
    rm test.2 2>/dev/null
    cat test.1 | while read line; do
    if [ "$line" == "<!--END OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD-->" ]; then
       exit 0;
    else
       echo $line >> test.2;
    fi;
    done
    
    Ich bekomme in test.2 den gleichen Inhalt wie in test.1 - das heisst er findet diesen Input oben nicht, Sonderzeichen? oder ggf. ein unsichtbares Zeichen?

    Kann ich nicht auch ein Pattern Matching machen?

    LG Stefan
     
  5. #4 HeadCrash, 03.12.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Morgen,

    das Funktioniert auch nur, wenn "<!-- END ... -->" wirklich alles ist was in der Zeile steht.
    Evtl die Datei erst mal durch dos2unix laufen lassen, da die Art und Weise wie neue Zeilen eingeleitet werden sich ja unterscheiden.

    Selbstverständlich kannst du auch ein Pattern Matching machen, war ja nur ein Vorschlag wie es gehen kann :)

    mfg
    HeadCrash
     
  6. #5 Hobbystern, 03.12.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hi Headcrash - Guten Morgen!

    ich habe mich nochmals an Google mit Matching gewendet und habe eine praktikable Lösung :-)

    Code:
    rm test.2 2>/dev/null
    cat test.1 | while read line; do
    if [[ "$line" =~ 'END OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD' ]]; then 
       exit 0;
    else
       echo $line >> test.2;
    fi;
    done
    
    Ohja, gerade bei MS Anwendungen kennen wir das doch ganz gut - nicht? :-)

    Danke (!) Liebe Grüsse !

    Stefan
     
  7. #6 HeadCrash, 03.12.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Morgen,

    naja ist allgemein bekannt, dass die Zeilenumbrüche anders Codiert sind.
    Aber wie auch immer, schönen Tag noch.

    mfg
    HeadCrash

    ps: was sagt eigentlich "file test.1"
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Hobbystern, 03.12.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    File sagt .. :

    Code:
    test.1: HTML document text
    
    Ich filtere gerade noch mehr aus diesem Dokument und escape wie ein Irrer, gibt es eine Möglichkeit SED genau dieses hier suchen zu lassen und es dann zu löschen :

    Code:
    <td height=20 class=xl7418198 width=72 style='height:15.0pt;width:54pt'><a
    name="RANGE!A1:H79"></a></td>
    
    ?

    Ich habe Probleme mit den Backticks - auch escaped werden die zu einem Problem..

    LG Stefan
     
  10. #8 Fallout, 11.12.2009
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    mit sed kannst Du auch recht bequem bestimmte Textabschnitte mittels direkter Adressierung oder via regulärer Ausdrücke herausschneiden:

    Code:
    sed -n '1,/^.*<END OF OUTPUT FROM.*/p' test1
    
     
Thema:

SED - Spezial benötigt - finden von Pattern

Die Seite wird geladen...

SED - Spezial benötigt - finden von Pattern - Ähnliche Themen

  1. Hundertserver sucht Dich: Linux Spezialisten in Berlin.

    Hundertserver sucht Dich: Linux Spezialisten in Berlin.: Hundertserver sucht einen Linuxspezialiten in Berlin Hundertserver über sich: "Hundertserver bietet Unternehmen die Möglichkeit, digitale...
  2. Werkstudent/ in als Tester (Testspezialist für Softwaretests)

    Werkstudent/ in als Tester (Testspezialist für Softwaretests): Werkstudent/ in als Tester (Testspezialist für Softwaretests) Die DiOmega GmbH ist eine Agentur mit Sitz in Frankfurt am Main, die sich auf IT-...
  3. Rogue Wave übernimmt PHP-Spezialisten Zend

    Rogue Wave übernimmt PHP-Spezialisten Zend: Der PHP-Spezialist Zend Technologies wurde durch Rogue Wave aufgekauft. Mit der Übernahme will sich der US-Cross-Plattform-Hersteller verstärkt in...
  4. Administrator und Spezialist für AIX und Linux (M/W) gesucht

    Administrator und Spezialist für AIX und Linux (M/W) gesucht: Guten Tag, wir suchen für einen unserer Kunden einen Administrator und Spezialist für AIX und Linux (M/W). Teamgeist, Kreativität,...
  5. IT-Application Support Spezialist Betrieb, Store Services (w/m)

    IT-Application Support Spezialist Betrieb, Store Services (w/m): Guten Tag, wir suchen für einen unserer Kunden einen IT-Application Support Spezialist Betrieb, Store Services (w/m). Beraten plus Begleiten...