Ich habe eine Textdatei (richtiger, “ deutschen Stil “ CSV-Datei, dh Semikolon getrennt, Komma), die ein Datum und den Wert hat einer Messung auf jeder Linie.
Es gibt Abschnitte mit fehlerhaften Werten, die ich vor weiteren Arbeiten entfernen möchte. Ich möchte diese Schnitte in einem Skript speichern, damit meine Korrekturen dokumentiert werden und ich diese Korrekturen ggf. wiederholen kann.Entfernen Sie Linien, die zwischen bestimmten Mustern aus einer Datei sind (mit Unix-Tools)
die Linien wie folgt aussehen:
28.01.2005 14:48:38;5,166
28.01.2005 14:50:38;2,916
28.01.2005 14:52:38;0,000
28.01.2005 14:54:38;0,000
(long stretch of values that should be removed; could also be something else beside 0)
01.02.2005 00:11:43;0,000
01.02.2005 00:13:43;1,333
01.02.2005 00:15:43;3,250
Jetzt würde ich Muster beginnen und enden speichern wie eine Liste wie 28.01.2005 14:52:38
+ 01.02.2005 00:11:43
, und das Skript die Linien schneiden würde diese beginnen/enden Paare passende und alles was zwischen ihnen ist.
Ich denke darüber nach, ein awk-Skript zu hacken, aber vielleicht fehlt mir ein bereits vorhandenes Tool.
Großartig! Ich wusste, dass ich etwas verpasst habe und hellip; Ich habe immer sed mit einzelnen Mustern verwendet und nie daran erinnert, dass es Bereiche anbietet. –
Außerdem kann ich die Ausdrücke in eine Datei schreiben, wo ich auch Kommentare (mit '#') verwenden kann. Die Befehlszeile lautet dann "sed -f scriptfile outfile". –