Op 6 november 20181 werden verkiezingen gehouden om de stemgerechtigde leden aan te duiden uit de 435 congresdistricten2 vertegenwoordigd in het Huis van Afgevaardigden van de Verenigde Staten3 (in het Engels: United States House of Representatives). De winnaars van deze verkiezingen vormen samen het 116e Amerikaans Congres4.

representatives
Zegel van het Huis van Afgevaardigden

De samenstelling van het Huis is vastgelegd in Artikel 1 van de Amerikaanse grondwet5. Het bestaat uit vertegenwoordigers van de congresdistricten die op basis van een volkstelling6 toegewezen zijn aan elk van de 50 staten7, waarbij elk district recht heeft op één vertegenwoordiger. Sinds de oprichting in 1789 worden alle vertegenwoordigers rechtstreeks verkozen. Het totaal aantal stemgerechtigde leden is bij wet vastgelegd8 op 435. Sinds de laatste volkstelling uit 20109 is de grootste delegatie die van Californië, met drieënvijftig vertegenwoordigers. Zeven staten hebben slechts één enkele vertegenwoordiger: Alaska, Delaware, Montana, North Dakota, South Dakota, Vermont en Wyoming.

Opgave

Het tekstbestand representatives.txt10 bevat een lijst met de vertegenwoordigers uit de 435 congresdistricten in het 115e en het 116e Amerikaans Congres. Dit zijn met andere woorden de vertegenwoordigers van voor en na de verkiezingen van 6 november 2018. Elke regel beschrijft de vertegenwoordigers uit één congresdistrict aan de hand van de volgende zes informatievelden die van elkaar worden gescheiden door komma's: i) beschrijving district (Region), ii) naam van vertegenwoordiger in 115e congres (Representative), iii) partij van vertegenwoordiger in 115e congres (Party), iv) jaar waarin vertegenwoordiger in 115e congres voor het eerst zetelde (Assumed office), v) naam van vertegenwoordiger in 116e congres (Newly elected) en vi) partij van vertegenwoordiger in 116e congres (Party). Je mag ervan uitgaan dat de velden zelf geen komma's bevatten. De beschrijving van een congresdistrict bestaat uit de naam van de staat waarin het district gelegen is (kan spaties bevatten), gevolgd door een spatie en het volgnummer van het district (een natuurlijk getal) of de term at large indien de staat slechts één congresdistrict heeft. De eerste regel vormt de hoofding en bevat de namen van de informatievelden (tussen ronde haakjes bij beschrijving van de velden), van elkaar gescheiden door tabs.

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 ervoor dat elk van deze commando's bestaat uit zo weinig mogelijk tekens. 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 representatives.i.txt (ZIP11), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Reduceer alle namen van partijen in de twee Party kolommen tot hun eerste letter. Zo moet

    Region,Representative,Party,Assumed office,Newly elected,Party
    Alabama 1,Bradley Byrne,Republican,2014,Bradley Byrne,Republican
    Alabama 2,Martha Roby,Republican,2011,Martha Roby,Republican
    Alabama 3,Mike Rogers,Republican,2003,Mike Rogers,Republican
    Alabama 4,Robert Aderholt,Republican,1997,Robert Aderholt,Republican
    Alabama 5,Mo Brooks,Republican,2011,Mo Brooks,Republican
    Alabama 6,Gary Palmer,Republican,2015,Gary Palmer,Republican
    Alabama 7,Terri Sewell,Democratic,2011,Terri Sewell,Democratic
    Alaska at large,Don Young,Republican,1973,Don Young,Republican
    …

    bijvoorbeeld omgezet worden naar (representatives.1.txt12)

    Region,Representative,Party,Assumed office,Newly elected,Party
    Alabama 1,Bradley Byrne,R,2014,Bradley Byrne,R
    Alabama 2,Martha Roby,R,2011,Martha Roby,R
    Alabama 3,Mike Rogers,R,2003,Mike Rogers,R
    Alabama 4,Robert Aderholt,R,1997,Robert Aderholt,R
    Alabama 5,Mo Brooks,R,2011,Mo Brooks,R
    Alabama 6,Gary Palmer,R,2015,Gary Palmer,R
    Alabama 7,Terri Sewell,D,2011,Terri Sewell,D
    Alaska at large,Don Young,R,1973,Don Young,R
  2. Splits het veld met de beschrijving van het district (Region) in twee velden die respectievelijk de naam van de staat (State) en het volgnummer van het district (District) bevatten, waarbij er geen volgnummer is bij staten die slechts één district hebben. Zorg ervoor dat de eerste regel wordt aangepast met de gegeven namen van de gesplitste velden. We krijgen dan (representatives.2.txt13)

    State,District,Representative,Party,Assumed office,Newly elected,Party
    Alabama,1,Bradley Byrne,R,2014,Bradley Byrne,R
    Alabama,2,Martha Roby,R,2011,Martha Roby,R
    Alabama,3,Mike Rogers,R,2003,Mike Rogers,R
    Alabama,4,Robert Aderholt,R,1997,Robert Aderholt,R
    Alabama,5,Mo Brooks,R,2011,Mo Brooks,R
    Alabama,6,Gary Palmer,R,2015,Gary Palmer,R
    Alabama,7,Terri Sewell,D,2011,Terri Sewell,D
    Alaska,,Don Young,R,1973,Don Young,R
    …
  3. Voeg achteraan een extra veld Assumed office toe met het jaar waarin de vertegenwoordiger in het 116e congres voor het eerst zetelde. Dit is een kopie het vierde veld (Assumed office) als de vertegenwoordiger op 6 november 2018 werd herverkozen, of het jaar 2019 als er op 6 november 2018 een nieuwe vertegenwoordiger werd verkozen voor het district. Zorg ervoor dat de eerste regel wordt aangepast met de gegeven naam van het nieuwe veld. We krijgen dan (representatives.3.txt14)

    State,District,Representative,Party,Assumed office,Newly elected,Party,Assumed office
    Alabama,1,Bradley Byrne,R,2014,Bradley Byrne,R,2014
    Alabama,2,Martha Roby,R,2011,Martha Roby,R,2011
    Alabama,3,Mike Rogers,R,2003,Mike Rogers,R,2003
    …
    Arizona,1,Tom O'Halleran,D,2017,Tom O'Halleran,D,2017
    Arizona,2,Martha McSally,R,2015,Ann Kirkpatrick,D,2019
    Arizona,3,Raúl Grijalva,D,2003,Raúl Grijalva,D,2003
    …
    Arizona,8,Debbie Lesko,R,2018,Debbie Lesko,R,2018
    Arizona,9,Kyrsten Sinema,D,2013,Greg Stanton,D,2019
    Arkansas,1,Rick Crawford,R,2011,Rick Crawford,R,2011
  4. Voeg achteraan een extra veld Change toe dat aangeeft op welke manier de vertegenwoordiging van het district gewijzigd is tussen het 115e en het 116e Congres: not changed indien dezelfde vertegenwoordiger herverkozen werd, new representative indien er een andere vertegenwoordiger van dezelfde partij verkozen werden of new party indien er een vertegenwoordiger van een andere partij verkozen werd. Zorg ervoor dat de eerste regel wordt aangepast met de gegeven naam van het nieuwe veld. We krijgen dan (representatives.4.txt15)

    State,District,Representative,Party,Assumed office,Newly elected,Party,Assumed office,Change
    Alabama,1,Bradley Byrne,R,2014,Bradley Byrne,R,2014,not changed
    Alabama,2,Martha Roby,R,2011,Martha Roby,R,2011,not changed
    Alabama,3,Mike Rogers,R,2003,Mike Rogers,R,2003,not changed
    …
    Arizona,1,Tom O'Halleran,D,2017,Tom O'Halleran,D,2017,not changed
    Arizona,2,Martha McSally,R,2015,Ann Kirkpatrick,D,2019,new party
    Arizona,3,Raúl Grijalva,D,2003,Raúl Grijalva,D,2003,not changed
    …
    Arizona,8,Debbie Lesko,R,2018,Debbie Lesko,R,2018,not changed
    Arizona,9,Kyrsten Sinema,D,2013,Greg Stanton,D,2019,new representative
    Arkansas,1,Rick Crawford,R,2011,Rick Crawford,R,2011,not changed
  5. Sorteer de districten eerst chronologisch op het jaar waarin de vertegenwoordiger in het 116e congres voor het eerst zetelde, daarna op de naam van de staat en tenslotten volgens stijgend volgnummer van de districten. We krijgen dan (representatives.5.txt16)

    State,District,Representative,Party,Assumed office,Newly elected,Party,Assumed office,Change
    Alaska,,Don Young,R,1973,Don Young,R,1973,not changed
    Wisconsin,5,Jim Sensenbrenner,R,1979,Jim Sensenbrenner,R,1979,not changed
    Kentucky,5,Hal Rogers,R,1981,Hal Rogers,R,1981,not changed
    Maryland,5,Steny Hoyer,D,1981,Steny Hoyer,D,1981,not changed
    New Jersey,4,Chris Smith,R,1981,Chris Smith,R,1981,not changed
    Ohio,9,Marcy Kaptur,D,1983,Marcy Kaptur,D,1983,not changed
    Indiana,1,Pete Visclosky,D,1985,Pete Visclosky,D,1985,not changed
    California,12,Nancy Pelosi,D,1987,Nancy Pelosi,D,1987,not changed
    …

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing: