Een tekstbestand knippen van regel die X bevat naar de eerste regel met Y

Ik heb veel tekstbestanden met banktransacties in het midden ervan.

Elk bestand heeft een aangepaste koptekst met variabele lengte.

In elk bestand beginnen de transacties precies na de eerste (en enige) regel die de tekst bevat:

FECHA OPERACION FECHA VALOR CONCEPTO    IMPORTE SALDO

In elk bestand eindigen transacties precies vóór de eerste (en enige) regel die de tekst bevat:

PROCHAIN

Elke regel na de "grens" is een transactie, één transactie per regel, tot de sluitende bewaker.

Er is een enkel blok met transacties per bestand.

Hoe kan ik alle transacties eenvoudig en efficiënt uitpakken met behulp van alleen commandoregelhulpmiddelen?

2

1 antwoord

sed '1,/FECHA/d;/PROCHAIN/,$d' inputfile
3
toegevoegd
PERFECTIE. Zo elegant, zo beknopt, zo krachtig. Hou ervan.
toegevoegd de auteur Robottinosino, de bron
@Robottinosino: Ja, zo werkt het. Om plaats te maken voor witte ruimte en het patroon te verankeren: /^ [[: blank:]] * FECHA/ (je kunt de tekst langer maken, ik heb het begin kort gebruikt)
toegevoegd de auteur Dennis Williamson, de bron
Ik heb de bewerking teruggedraaid omdat deze grotendeels onjuist was.
toegevoegd de auteur Dennis Williamson, de bron