Opgave

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

<ISO-code>,<land>,<munt>,<wisselkoers>,<invoerdatum>,<opmerking>
    

Elke regel bevat informatie over oude munteenheden die vervangen werden bij de introductie van de euro, waarbij komma's gebruikt worden als veldscheidingsteken. Sommige velden worden ook nog ingesloten tussen dubbele aanhalingstekens. Verder komen er geen aanhalingstekens en komma's meer voor binnen de velden. Het bestand bevat bovendien 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 currencies.$$i$$.txt (1 ≤ $$i$$ ≤ 5), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Zorg ervoor dat er telkens drie cijfers na het decimale scheidingsteken gebruikt worden in de wisselkoers. Zo moet 2.20371 vervangen worden door 2.203 (afkapping, geen afronding), en moet 1936.27 vervangen worden door 1936.270. (currencies.1.txt2)

  2. Gebruik drie commando's om elk veld in te sluiten tussen dubbele aanhalingstekens. Twee commando's om het begin en einde van een regel op te vangen, en één om de aanhalingstekens bij de veldscheidingen aan te passen. Maak daarna deze wijzigingen terug ongedaan (eventueel door het bestand opnieuw te openen). (currencies.2.txt3)

  3. Gebruik één enkel commando om elk veld in te sluiten tussen dubbele aanhalingstekens. Dit commando moet dus hetzelfde netto-effect hebben als de commando’s uit het voorgaande puntje. (currencies.3.txt4)

  4. Reorganiseer het bestand zodat de records geordend zijn op munteenheid en daarna op land. Zorg ervoor dat de regels na herorganisatie dezelfde vorm behouden. Het kan zijn dat je hierbij meer dan één commando nodig hebt, maar de optimale oplossing gebruikt slechts één enkel commando. (currencies.4.txt5)

  5. Indien de munt is opgedeeld in verschillende eenheden, dan worden deze opgegeven in het veld munt gescheiden door een puntkomma. Zorg ervoor dat in de kolom munt enkel de eerste munteenheid behouden wordt indien er meerdere gegeven zijn. Voeg de andere munteenheden achteraan toe aan het veld opmerking, maar voor het dubbele aanhalingsteken. De beschrijving van de Belgische Frank wordt dan bijvoorbeeld: (currencies.5.txt6)

    "LUF","Luxemburg","Frank","40.339","28/02/2002","vervangen door de Reichsmark tussen 1941 en 1944; Centimes"
            

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing: