Löschen Sie Zeilen bis zu einem Header mit sed

Löschen Sie Zeilen bis zu einem Header mit sed

Ich integriere SED in eine Windows-Batchdatei. Damit lösche ich die ersten sieben Zeilen einer Textdatei:

SED "1,7d"

Ich möchte es jedoch intelligenter machen. Im Wesentlichen habe ich eine riesige Textdatei, von der ich die ersten Zeilen abschneiden möchte … und alles von der Spaltenüberschrift und darunter behalten möchte. Die erste Textzeile, die ich möchte, ist Zeile 8 und lautet „Jahr“ in Anführungszeichen.

Ich habe Folgendes versucht und erhalte eine Fehlermeldung im Befehlsfenster (beim Ausführen der Batchdatei):

SED "1,/"Year"/!d"

Ich füge die Eingabe- und Ausgabedateien nach dem Ausdruck ein.

Antwort1

Ich weiß nicht viel über das Anführungszeichenverhalten unter Windows, aber Sie könnten Folgendes versuchen:

SED '1,/"Year"/!d' 

Antwort2

Dieser Wiki-Artikelgibt an, dass die inneren Anführungszeichen verdreifacht werden sollen:

SED "1,/"""Year"""/!d"

ungetestet.

verwandte Informationen