Opgave

In het tekstbestand transfers.txt1 hebben de regels de volgende vorm:

      <rekening opdrachtgever> <rekening begunstigde> <opmerking> <bedrag> <OGM> <VM> <memodatum>
    

Elke regel bevat informatie over een banktransactie, waarbij een plusteken (+) wordt gebruikt als veldscheidingsteken. Dit betekent dus dat er geen plustekens meer voorkomen in de inhoud van de velden zelf. Rekeningnummers zijn van de vorm xxx-xxxxxxx-xx, waarbij x voor een willekeurig cijfer staat. De memodatum is van de vorm dd/mm/jjjj. Het OGM-veld is een gestructureerde mededeling, en heeft de volgende vorm: ***xxx/xxxx/xxxxx***, waarbij x opnieuw voor een willekeurig cijfer staat. Je mag ervan uitgaan dat enkel het OGM-veld sterretjes kan bevatten. De gestructureerde mededeling en de vrije mededeling (VM, willekeurige opeenvolging van tekens) moeten niet noodzakelijk ingevuld worden. Het opmerkingsveld geeft aan of het om een overschrijving tussen eigen rekeningen (EIGEN) gaat of niet (ANDER). Verder bevat het bestand ook nog commentaarregels die beginnen met een hekje (#). Gevraagd wordt om — gebruik makend van de teksteditors vi of vim — een reeks commando's op te stellen die achtereenvolgens de volgende opdrachten uitvoeren. Probeer voor elke opdracht zo weinig mogelijk commando's te gebruiken en zorg ervoor dat elk van deze commando's bestaat uit zo weinig mogelijk tekens. Alle opdrachten moeten na elkaar uitgevoerd worden, waarbij de regel met hoofding steeds ongewijzigd moet blijven. Ter controle kan je gebruik maken van de meegeleverde bestanden transfers.$$i$$.txt (1 ≤ $$i$$ ≤ 5), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Vul het VM-veld met de tekst Eigen rekeningen, en dit enkel voor de transacties tussen eigen rekeningen waarvoor het OGM-veld en het VM-veld beide geen waarde bevatten. (transfers.1.txt2)

  2. Verwijder het opmerkingsveld. (transfers.2.txt3)

  3. Verander de notatie van ***abc/defg/hijkl*** naar ***defg/hijkl/abc*** voor het OGM-veld. (transfers.3.txt4)

  4. Markeer alle transacties met een bedrag dat 1000 euro of meer bedraagt. Doe dit door op het einde van de lijn de tekst HOOG! te zetten (transfers.4.txt5)

  5. Reorganiseer het bestand, zodanig dat alle transacties geordend zijn volgens het rekeningnummer van de begunstigde. Zorg ervoor dat het "hoogste" rekeningnummer (m.a.w. een rekeningnummer dat begint met een 9 is hoger dan een rekeningnummer dat begint met een 8) bovenaan staat. Het kan zijn dat je hiervoor meer dan één commando nodig hebt. Toegepast op het vorige voorbeeld wordt dit (transfers.5.txt6)

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing: