Het tekstbestand tour2010.txt1 bevat de einduitslag van de Tour de France 2010. Elke regel bevat volgende informatie over een bepaalde renner: $$i$$) plaats in einduitslag, $$ii$$) nationaliteit, $$iii$$) naam, $$iv$$) rugnummer, $$v$$) team, $$vi$$) totaal gereden tijd en $$vii$$) afstand in tijd ten opzichte van de winnaar. De verschillende informatievelden worden van elkaar gescheiden door tabs. Het bestand bevat bovendien een hoofding waarvan alle regels beginnen met een hekje (#).

Opgave

Gevraagd wordt om — gebruikmakend 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 er voor dat elk van deze commando's uit zo weinig mogelijk tekens bestaat. De commando's mogen geen programmeerbare filters (bv. awk) gebruiken. Alle opdrachten moeten na elkaar uitgevoerd worden. De opdrachten mogen de eerste regel (hoofding) niet wijzigen, tenzij dit expliciet anders vermeld staat. Ter controle kan je gebruikmaken van de meegeleverde bestanden tour2010.i.txt, die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Vervang het veldscheidingsteken door een komma, en zorg ervoor dat alle spaties vooraan en achteraan elk veld verwijderd worden. (tour2010.1.txt2)

  2. Zet alle tijdsaanduidingen (zowel de totaal gereden tijd als de afstand in tijd ten opzichte van de winnaar) om naar het formaat HH:MI:SS, waarbij de uren, minuten en seconden telkens met twee cijfers worden aangegeven. Het plusteken bij de afstand in tijd ten opzichte van de winnaar komt hierbij te vervallen. Zo moet

    2.,LUX,SCHLECK Andy,11,TEAM SAXO BANK,91h 59' 27",+ 00' 39"
    140.,ESP,HERNANDEZ BLAZQUEZ Jesus,4,ASTANA,95h 30' 50",+ 3h 32' 02"

    bijvoorbeeld omgezet worden naar (tour2010.2.txt3)

    2.,LUX,SCHLECK Andy,11,TEAM SAXO BANK,91:59:27,00:00:39
    140.,ESP,HERNANDEZ BLAZQUEZ Jesus,4,ASTANA,95:30:50,03:32:02
  3. Splits de naam van de renners op in hun voor- en familienaam, en plaats deze in afzonderlijke velden. Let hierbij op het feit dat de startpositie van de voornaam kan herkend worden doordat de tweede letter ervan geen hoofdletter is. Familienamen worden immers volledig in hoofdletters geschreven. Toegepast op het vorige voorbeeld wordt dit (tour2010.3.txt4)

    2.,LUX,Andy,SCHLECK,11,TEAM SAXO BANK,91:59:27,00:00:39
    140.,ESP,Jesus,HERNANDEZ BLAZQUEZ,4,ASTANA,95:30:50,03:32:02
  4. Duid de kopmannen in het peloton aan door het punt achter hun plaats in de einduitslag te vervangen door de letter k. Kopmannen kunnen herkend worden doordat ze een rugnummer dragen dat eindigt op het cijfer 1. Van de twee regels uit het voorgaande voorbeeld, moet dus enkel de eerste regel aangepast worden. Toegepast op het vorige voorbeeld wordt dit (tour2010.4.txt5)

    2k,LUX,Andy,SCHLECK,11,TEAM SAXO BANK,91:59:27,00:00:39
    140.,ESP,Jesus,HERNANDEZ BLAZQUEZ,4,ASTANA,95:30:50,03:32:02
  5. Herorganiseer het bestand zodanig dat de regels van de einduitslag alfabetisch worden gerangschikt op de teamnaam, en binnen elk team volgens stijgend volgnummer. (tour2010.5.txt6)

  6. Plaats de inhoud van elk veld tussen dubbele aanhalingstekens. Toegepast op het vorige voorbeeld wordt dit (tour2010.6.txt7)

    "2k","LUX","Andy","SCHLECK","11","TEAM SAXO BANK","91:59:27","00:00:39"
    "140.","ESP","Jesus","HERNANDEZ BLAZQUEZ","4","ASTANA","95:30:50","03:32:02"

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing: