ich eine txt-Datei wie folgt formatiert:Wie Linien von TXT oder CSV mit bestimmten Mustern löschen
Das Ziel ist es, die Reihen zu entfernen, die mit dem Wort „Teilsumme Gruppe 1“ oder „Teilsumme Gruppe 2“ beginnen oder "Grand Total" (solche Strings stehen immer am Anfang der Zeile), aber ich muss sie nur entfernen, wenn der verbleibende Teil der Zeile leere Felder enthält (oder mit Leerzeichen gefüllt ist).
Es könnte mit awk oder sed (1 pass) erreichbar sein, aber ich mache derzeit mit 3 separaten Schritten (eins für jeden Text). Eine generische Syntax wäre großartig. Danke an alle.
Meine txt-Datei sieht wie folgt aus:
Some Generic Headers at the beginning of the file
=======================================================================
Group 1
=======================================================================
6.00 500 First Line Text 1685.52
1.00 502 Second Line Text 280.98
530 Other Line text 157.32
_________________________________________________________________________
Subtotal Group 1
Subtotal Group 1
Subtotal Group 1
Subtotal Group 1 2123.82
Subtotal Group 1
Subtotal Group 1
========================================================================
GROUP 2
========================================================================
7.00 701 First Line Text 53.63
711 Second Line text 97.85
7.00 740 Third Line text 157.32
741 Any Line text 157.32
742 Any Line text 18.04
801 Last Line text 128.63
_______________________________________________________________________
Subtotal Group 2
Subtotal Group 2
Subtotal Group 2
Subtotal Group 2
Subtotal Group 2 612.79
Subtotal Group 2
_______________________________________________________________________
Grand total
Grand total
Grand total
Grand total
Grand total
Grand total
Grand total 1511.03
Ziel Ausgang ich zu erreichen bin versucht:
Some Generic Headers at the beginning of the file
=======================================================================
Group 1
=======================================================================
6.00 500 First Line Text 1685.52
1.00 502 Second Line Text 280.98
530 Other Line text 157.32
_______________________________________________________________________
Subtotal Group 1 2123.82
=======================================================================
GROUP 2
=======================================================================
7.00 701 First Line Text 53.63
711 Second Line text 97.85
7.00 740 Third Line text 157.32
741 Any Line text 157.32
742 Any Line text 18.04
801 Last Line text 128.63
_______________________________________________________________________
Subtotal Group 2 612.79
_______________________________________________________________________
Grand total 1511.03
Was sind 'Field1, ...' Ziffern? Beginnen sie mit etwas anderem als "Zwischensumme" oder "Gesamtsumme"? –
@David Du hast Recht, es ist ziemlich verwirrend, ich werde die Frage bearbeiten. Vielen Dank. –
@EdMorton Ich hatte eine CSV (und Sie haben mir in den letzten Tagen sehr geholfen, es zu formatieren und in einen lesbaren formatierten Text zu konvertieren, mit Alignement). Jetzt, wo ich einen fast druckbaren txt erreiche, ist das Letzte, was behoben werden muss, überflüssige unbrauchbare Zeilen zu entfernen. Wahrscheinlich hätte es früher sein können, mit einer effizienteren Codierung, aber ich bin nicht so geschickt darin, alle Schritte in einem einzigen Skript zu verstehen, also gehe ich schrittweise vor. Danke Ed! –