Importdatei fehlerhaft -> Hilfe mit awk oder sed?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Markus371, 25.10.2010.

  1. #1 Markus371, 25.10.2010
    Markus371

    Markus371 Grünschnabel

    Dabei seit:
    09.09.2009
    Beiträge:
    7
    Zustimmungen:
    0
    Hallo,

    ich habe eine Importdatei, diese wird stündlich zur Verfügung gestellt.
    Gelegentlich kommt es vor, dass diese Datei fehlerhaft ist.

    In diese Datei werden Zeilen geschrieben, jede Zeile endet mit LF (0A Hex).
    Wenn eine Zeile fehlerhaft ist, wird die nächste Zeile unmittelbar an das Ende der vorherigen Zeile angefügt.

    Jede neu angefügte Zeile beginnt mit HY....

    Frage:

    Ist es möglich die Importdatei vor der Weiterverarbeitung auf fehlerhafte Zeilen zu prüfen und ggf. die Zeile zu löschen?

    Meine Idee wäre, zu prüfen ob in einer Zeile das Zeichen HY ausser in Spalte 1 und 2 vorkommt. Wenn ja, dann lösche alle Zeichen davor.

    Beispiel:

    fehlerhaft
    HY1345446131311
    HY1345444121413
    HY134HY134544613154
    HY13454846446

    bereinigt
    HY1345446131311
    HY1345444121413
    HY134544613154
    HY13454846446

    Vielen Dank im Voraus.

    Gruß
    Markus
     
  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. Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Wie wärs damit?

    Code:
    sed 's/^HY.*\(HY.*\)$/\1/' importdatei.txt > importdatei_fixed.txt && mv importdatei_fixed.txt importdatei.txt
    Entfernt alle fehlerhaften Elemente, schreibt die neue Version nach importdatei_fixed.txt und ersetzt dann die Originaldatei mit der bearbeiteten.

    Wenn du den GNU-sed benutzt, geht das auch einfacher:
    Code:
    sed -i 's/^HY.*\(HY.*\)$/\1/' importdatei.txt
     
  4. #3 floyd62, 26.10.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    ... oder auch so:
    Code:
    sed -e 's/..*HY/HY/g'
    
    Damit sollte der 'sed' auch Zeilen erwischen, die wegen Datenverlust nicht mit HY anfangen, und er sollte alles bis zum letzten HY-Tag löschen, wenn mal mehrere Zeilen in eine einzige zusammengewurstelt werden ...

    Gruss, A.
     
Thema:

Importdatei fehlerhaft -> Hilfe mit awk oder sed?

Die Seite wird geladen...

Importdatei fehlerhaft -> Hilfe mit awk oder sed? - Ähnliche Themen

  1. Linux.Encoder: Das Laster der fehlerhaften Kryptografie

    Linux.Encoder: Das Laster der fehlerhaften Kryptografie: Der mittlerweile in der dritten Generation nun vorliegende Ransomware »Linux.Encoder« kann immer noch kaum Schrecken unter Linux verbreiten -...
  2. Fehlerhafte Installation von OpenSUSE 13.1

    Fehlerhafte Installation von OpenSUSE 13.1: Hallo zusammen, seit dem Wochenende habe ich mit einem kuriosen Problem zu kämpfen, das mich vor ziemliche Rätsel stellt. Am Wochenende...
  3. Anzeige fehlerhaft nach Displaytausch

    Anzeige fehlerhaft nach Displaytausch: Moin! Ich hab hier bei einem Sony vaio das Display getauscht hat sich auch als sehr einfach herausgestelt aber leider ist die Anzeige fehlerhaft...
  4. vfs full_audit loggt keine fehlerhaften Anmeldungen

    vfs full_audit loggt keine fehlerhaften Anmeldungen: Hallo zusammen, ich habe einen Samba-Server auf OpenSuse 12.3 laufen, würde nun noch gerne einen fail2ban-Mechanismus einrichten. Dazu schreibe...
  5. Fehlerhafte anmeldung an WinXP Client

    Fehlerhafte anmeldung an WinXP Client: Hallo Leute, ich arbeite grade an meiner Abschlussarbeit meiner Ausbildung und möchte dafür einen Primären Domain Controller via Samba auf einem...