Textdatei filtern und löschen mit grep /sed

donmikel

Grünschnabel
Beiträge
6
Guten morgen liebe Forenmitglieder,

da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige hab ich im Moment ein kleines Problem bei dem Ihr mir sicherlich helfen könnt. ich sehe grad jedenfalls den Wald vor lauter Bäumen nicht mehr.

Problemstellung :

Ich soll aus einer Textdatei Zeilen herausfiltern und in eine neue Datei schreiben. Als Kriterien gibt es drei sog. NTNummern (mit ODER verknüpft) und eine MD_Nr (mit AND verknüpft).

Also wenn eine Zeile mit NTNummer1 UND MD_Nr = 5000 auftaucht dann bitte in die neue Datei schreiben.
Wenn eine Zeile mit der NTNummer1 UND der MD_Nr = 4999 auftaucht dann NICHT in die Datei schreiben.

So weit so gut.

Mittels grep habe ich die Filterung auch so weit hin bekommen.

grep -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" datei | grep "#= MD_Nr \"5000" > neueDatei



Nun mein Problem. Wie lösche ich im Anschluss diese Zeile aus der Originaldatei bzw. lege eine weitere Datei mit den übrigen Zeilen an ?


grep -v -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" datei | grep -v "#= MD_Nr \"5000" > rest

bzw.

grep -v -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" datei | grep "#= MD_Nr \"5000" > rest


Bei sed bekomme ich im moment lediglich hin, dass er mir die einzelnen Kriterien aus der Datei löscht aber nicht die UND-Verbindung zwischen NTNummer und MD_Nr

sed '/\(#= NTNummer "5010376"\) /d' datei > rest

bzw.

sed '/\(#= MD_Nr "5001"\)/d' datei > rest


Habt ihr auf den ersten Blick einen Tipp für mich wo ich ansetzen kann oder wie ich die Befehle anders aufbauen muss, damit das ganze funktioniert. Die man-Pages bringen mich im Moment hier nicht weiter.

Vielen Dank schonmal und schöne Grüße aus Hamburg

Michael
 

hellfire

Doppel-As
Beiträge
129
Kannst Du bitte mal folgendes bereitstellen:

  • Eine kurze(verkürzte) Beispieldatei der Quelldaten
  • Eine Beispielausgabe des gewünschten Ergebnisses
Die Beispieldaten sollten die relevanten Fälle enthalten.

Verwende dazu bitte die Beitragsfunktion Einfügen -> code, damit der Code besser lesbar ist. Also so:

Code:
#!/bin/bash
# das hier ist code


Falls die Quelldaten sensibel sind, bitte unter Beibehaltung der Struktur und der Datentypen Phantasiedaten einsetzen.
 

donmikel

Grünschnabel
Beiträge
6
Moin,

ich habe Dir jetzt mal drei Dateien vorbereitet :

1.) eine Datei mit den quasi Originaldaten - von mir natürlich angepasst
2.) die zweite Datei wo die gefilterten Zeilen enthalten sind die ich mittels

Code:
grep -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" Originaldatei.txt | grep "#= MD_Nr \"5000" > GefilterteDatei.txt

3.) eine Datei wo die restlichen Zeilen aus der Originaldatei enthalten sind und hier habe ich bisher keine Lösung gefunden den obigen Befehl umzukehren

Code:
 grep -v -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" originaldatei.txt | grep "#= MD_Nr \"5000" > Rest.txt

oder

Code:
 grep -v -e "#= NTNummer \"5010376" -e "#= NTNummer \"5010385" -e "#= NTNummer \"5010365" originaldatei.txt | grep -v "#= MD_Nr \"5000" > Rest.txt

Und mit dem sed-Befehl schaffe ich bisher nur Einzelne Sätze zu löschen. Bekomme hier keine UND- / ODER-Verknüpfung hin.
 

Anhänge

  • GefilterteDatei.txt
    2 KB · Aufrufe: 1
  • Originaldaten.txt
    3,4 KB · Aufrufe: 1
  • Restdatei.txt
    1,3 KB · Aufrufe: 1

hellfire

Doppel-As
Beiträge
129
Damit man das direkt sieht, habe ich das hier direkt ins Forum eingebunden.

Ausgangsdaten


Code:
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "4999" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "3000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010365" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"

Kannst Du bitte noch mal das gewünschte Ergebnis reinstellen (also händisch die Zeilen zusammengepfrimelt / kopiert, so wie es aussehen soll)?
 

donmikel

Grünschnabel
Beiträge
6
So, habe die Ausgangsdaten noch um eine Möglichkeit erweitert, weil dort auch noch andere Nummern drin sein können als die drei die ich heraus filtern soll :

Ausgangsdaten :

Code:
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "4999" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "3000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010365" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5012222" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"

Gewünschtes Ergebnis / Rest-Daten aus der Originaldatei nach dem entfernen des gefilterten :

Code:
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "4999" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "3000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5012222" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"

Hier sollen alle Zeilen rein, wo die NTNummer ungleich den drei genannten NTNummern (5010376, 5010385 und 5010365) die ich als Kriterien habe aber es sollen auch die Zeilen enthalten sein, wo die drei NTNummer (5010376, 5010385 und 5010365) enthalten sind aber die MD_Nr ungleich 5000 ist.
 
Zuletzt bearbeitet:

donmikel

Grünschnabel
Beiträge
6
Händisch meinst Du so (?) :

#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "4999" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "3000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5012222" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"


Ich habe die Kriterien die ich benötige mal fett markiert - der restliche Inhalt ist unerheblich
 

hellfire

Doppel-As
Beiträge
129
Wenn das dass gewünschte Ergebnis ist, dann ist es das, was ich mir gewünscht habe. Und immer die Code-Formatierung verwenden. Liest sich viel leichter dann.

Code:
#= NTNummer "5010376" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "4999" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5010385" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "3000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"
#= NTNummer "5012222" #= NT_Pfad "Pfad" #= NT_Versandart 0 #= NNr 000000000 #= Archiv_Kez 1 #= Formatiertabelle "Tabellenname" #= Veranlasser 1 #= WKZ "EUR" #= Formularpool 29 #= SB_Etage "5" #= MD_Nr "5000" #= SB_Email "muster@email.de" #= Bankname "Musterbank" #= BIC "DDDDDDDD000" #= IBAN "DE00 0000 0000 0000 0000 00" #= Adressat_Art 1 #= Anredeart "" #= Anrede1 "" #= Titel1 "" #= Anrede2 "" #= Titel2 "" #= Vorname1 "Test1" #= Name1 "Test2" #= Vorname2 "" #= Name2 "" #= Adresszusatz "" #= ASPAnrede "" #= ASPTitel "" #= ASPName "" #= Strasse "Muster-Str." #= Hausnr "1" #= Land "D" #= PLZ "12345" #= Ort "Muster" #= SB_Anrede "" #= SB_Nachname "AB11" #= SB_Telefon "01234/567890"

Jetzt schaue ich mir das mal an.
 

donmikel

Grünschnabel
Beiträge
6
Genau, das ist die gewünschte Ausgabe mit der ich im Moment nicht klar komme :-)

Danke Dir schon mal.
 

hellfire

Doppel-As
Beiträge
129
Grundsätzlich mag ich awk für Verarbeiten von Textdaten, weil der Code sehr kompakt ist. Hier reicht aber wohl sed aus.

Die folgenden Beispiele sind ungetestet.

Beispiel für Deine Aufgabenstellung mit awk:

Code:
awk '/NT_Nummer "(5010376|5010385|5012222)" .*MD_Nr "5000"/ { print $0 }' original.txt

Beispiel für Deine Aufgabenstellung mit sed:

Ausgabe der gewünschten Datensätze:

Code:
sed -r -n -e '/NT_Nummer "(5010376|5010385|5012222)" .*MD_Nr "5000"/p' original.txt

Löschen der gewünschten Datensätze aus der Originaldatei:

Code:
sed -r -i -e '/NT_Nummer "(5010376|5010385|5012222)" .*MD_Nr "5000"/d' original.txt

Ich empfehle Dir, Dich mit den folgenden Themen zu beschäftigen, wenn Du mehr solche Aufgaben lösen musst - Wichtigkeit absteigend:
  • Reguläre Ausdrücke
  • Shellprogrammierung(speziell Quoting)
  • awk
  • sed
 

donmikel

Grünschnabel
Beiträge
6
Ich danke Dir für Deine ausführliche Antwort und Themen-Tips und werde mir das alles gleich mal anschauen und testen.

Werde dann später eine Rückmeldung geben :-)
 

Ähnliche Themen

Zeilen löschen und ersetzen mit sed

Newbie sucht Hilfe: Zahl aus Datei mit grep/cut/sed lesen und schreiben?

Oben