Opgave

Het tekstbestand athletes.txt1 bevat de persoonsgegevens van een aantal atleten die deelnamen aan de olympische spelen van Londen 2012. Elke regel van dit bestand bevat informatie over één atleet. Deze informatie bestaat uit de volgende velden, die van elkaar worden gescheiden door een tab: $$i$$) familienaam, $$ii$$) voornaam, $$iii$$) lengte (in cm), $$iv$$) gewicht (in kg), $$v$$) land, $$vi$$) landcode, $$vii$$) geslacht (M voor mannen en W voor vrouwen), $$viii$$) discipline en $$ix$$ ) wedstrijden. Het laatste veld bevat een lijst van één of meer wedstrijden waaraan de atleet deelnam. Deze worden van elkaar gescheiden door een tab. De overige informatievelden bevatten zelf geen tabs of komma's. Bovenaan het tekstbestand staan optioneel een aantal commentaarregels, die worden voorafgegaan door 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 athletes.$$i$$.txt (1 ≤ $$i$$ ≤ 5), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Zorg er voor dat de lijst van wedstrijden gescheiden wordt door een komma (,) en een spatie, in plaats van een tab. Zo moet

    Pipes	Ben	204	...	Volleyball	Men’s	Volleyball
    ADAMS	ANTOINE	180	...	Athletics	Men’s 200m	Men’s 100m	Men’s 4 x 100m Relay
            

    bijvoorbeeld omgezet worden naar (athletes.1.txt2)

    Pipes	Ben	204	...	Volleyball	Men’s	Volleyball
    ADAMS	ANTOINE	180	...	Athletics	Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
            

    Opmerking: In bovenstaande voorbeelden werden de velden $$iv$$) tot en met $$vii$$) vervangen door drie puntjes (...) om de weergave van de regels niet te breed te maken. De inhoud van deze velden moet uiteraard behouden blijven.

  2. Zorg er voor dat de velden gescheiden worden door een puntkomma (;) in plaats van een tab, en verwijder alle spaties die vooraan en achteraan een veld staan. Vervang ook overal het land Team GB door Great Britain en het land Team USA door United States of America. Toegepast op het vorige voorbeeld wordt dit (athletes.2.txt3)

    Pipes;Ben;204;90;Great Britain;GBR;M;Volleyball;Men’s Volleyball
    ADAMS;ANTOINE;180;79;Saint Kitts and Nevis;SKN;M;Athletics;Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
            
  3. Voeg de velden met de voor- en familienaam samen tot één enkel veld. In dit samengestelde veld komt eerst de voornaam, gevolgd door een spatie en daarna de familienaam. Zorg er voor dat enkel de eerste letter van de voornaam en de eerste letter van de familienaam met een hoofdletter geschreven worden, de rest met kleine letter. Toegepast op het vorige voorbeeld wordt dit (athletes.3.txt4)

    Ben Pipes;204;90;Great Britain;GBR;M;Volleyball;Men’s Volleyball
    Antoine Adams;180;79;Saint Kitts and Nevis;SKN;M;Athletics;Men’s 200m, Men’s 100m, Men’s 4 x 100m Relay
            
  4. Verwijder alle regels waarvan het land een oneven aantal klinkers bevat. Dat betekent dus onder meer dat de voorbeeldregel voor de atleet Ben Pipes moet verwijderd worden.

  5. Sorteer vanuit de teksteditor vi of vim de overblijvende atleten volgens oplopende lengte. Bij gelijke lengte komen de zwaarste atleten eerst.

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing: