Op 20 januari 2017 wordt Donald John Trump1 geïnaugureerd als vijfenveerstigste president van de Verenigde Staten. Vanaf die dag zullen er tegelijkertijd vijf voormalige Amerikaanse presidenten nog in leven zijn.

presidenten
Van 20 januari 2001 tot 5 juni 2004 waren er vijf voormalige presidenten van de Verenigde Staten nog in leven.Van links naar rechts: Bill Clinton, George H.W. Bush, Ronald Reagan, Jimmy Carter en Gerald Ford.

In de geschiedenis van Amerika zijn er slechts vier perioden geweest waarin dat het geval was:

Herbert Hoover leefde nog 11,553 dagen (31 jaar en 230 dagen) nadat hij zijn ambt had neergelegd. James Polk kon daarentegen slechts 3 maanden (103 dagen) van zijn pensioen genieten. In totaal zijn er acht presidenten geweest die nooit de status van "voormalig president" bereikten omdat ze overleden tijdens hun ambtstermijn: William H. Harrison (longontsteking), Zachary Taylor (buikgriep), Abraham Lincoln (vermoord), James A. Garfield (vermoord), William McKinley (vermoord), Warren G. Harding (hersenbloeding), Franklin D. Roosevelt (hersenbloeding) en John F. Kennedy (vermoord).

Opgave

Gegeven is een tekstbestand presidents.txt2 dat informatie bevat over de levensduur en de ambtstermijn van de presidenten van de Verenigde Staten. Elke regel van dit bestand bevat informatie over één president. Deze informatie bestaat uit de volgende velden, die van elkaar worden gescheiden door tabs: i) volgnummer, ii) naam president iii) geboortedatum, iv) start ambtstermijn, v) leeftijd bij start ambtstermijn, vi) einde ambtstermijn, vii) leeftijd bij einde ambtstermijn, viii) levensduur na einde ambtstermijn, ix) datum van overlijden en x) totale levensduur. De informatievelden bevatten zelf geen tabs of puntkomma's. De eerste regel van het bestand is een commentaarregel.

De vier datumvelden bevatten een datum in het formaat Mon d yyyy waarbij de maand (Mon) bestaat uit drie letters waarvan de eerste een hoofdletter is, gevolgd door twee kleine letters. Dagen (d) worden altijd aangeduid met één of twee cijfers en jaartallen (yyyy) met vier cijfers. Velden met datums van gebeurtenissen die nog niet hebben plaatsgevonden zijn leeg. De vier velden die een tijdsperiode aanduiden worden zowel uitgedrukt in een aantal jaren en dagen (waarvan het aantal jaren optioneel is voor periodes korter dan een jaar) en een aantal dagen (tussen ronde haakjes, waarbij de cijfers met komma's gegroepeerd worden per duizendtallen). Tijdsperiodes die nog niet afgesloten zijn, kunnen leeg zijn of gerekend worden tot op de dag van vandaag.

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 er voor dat elk van deze commando's bestaat uit zo weinig mogelijk tekens. Alle opdrachten moeten na elkaar uitgevoerd worden. Geen enkele van de commando's mag de commentaarregel bovenaan het bestand wijzigen. Ter controle kan je gebruik maken van de meegeleverde bestanden presidents.i.txt, die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Vervang de tabs als scheidingsteken door puntkomma's (;) en verwijder alle spaties vooraan en achteraan elk veld. Zo moet

    #	President	Birth date	Presidency start date	Age at start date	Presidency end date	Age at end date	Post-presidency timespan	Death Date	Lifespan
    1	George Washington	Feb 22, 1732	Apr 30, 1789	57 years, 67 days (20,887 days)	Mar 4, 1797	65 years, 10 days (23,752 days)	2 years, 285 days (1,015 days)	Dec 14, 1799	67 years, 295 days (24,767 days)
    2	John Adams	Oct 30, 1735	Mar 4, 1797	61 years, 125 days (22,406 days)	Mar 4, 1801	65 years, 125 days (23,866 days)	  25 years, 122 days (9,253 days) 	   Jul 4, 1826 	 90 years, 247 days (33,119 days)
    3	  Thomas Jefferson	Apr 13, 1743	Mar 4, 1801	57 years, 325 days (21,144 days)	Mar 4, 1809	65 years, 325 days (24,066 days)	17 years, 122 days (6,331 days)	Jul 4, 1826	83 years, 82 days (30,397 days)
    4	   James Madison	Mar 16, 1751	Mar 4, 1809	57 years, 353 days (21,172 days)	Mar 4, 1817	65 years, 353 days (24,094 days)	19 years, 116 days (7,056 days)	Jun 28, 1836	85 years, 104 days (31,150 days)
    ...
    

    bijvoorbeeld omgezet worden naar (presidents.1.txt3)

    #	President	Birth date	Presidency start date	Age at start date	Presidency end date	Age at end date	Post-presidency timespan	Death Date	Lifespan
    1;George Washington;Feb 22, 1732;Apr 30, 1789;57 years, 67 days (20,887 days);Mar 4, 1797;65 years, 10 days (23,752 days);2 years, 285 days (1,015 days);Dec 14, 1799;67 years, 295 days (24,767 days)
    2;John Adams;Oct 30, 1735;Mar 4, 1797;61 years, 125 days (22,406 days);Mar 4, 1801;65 years, 125 days (23,866 days);25 years, 122 days (9,253 days);Jul 4, 1826;90 years, 247 days (33,119 days)
    3;Thomas Jefferson;Apr 13, 1743;Mar 4, 1801;57 years, 325 days (21,144 days);Mar 4, 1809;65 years, 325 days (24,066 days);17 years, 122 days (6,331 days);Jul 4, 1826;83 years, 82 days (30,397 days)
    4;James Madison;Mar 16, 1751;Mar 4, 1809;57 years, 353 days (21,172 days);Mar 4, 1817;65 years, 353 days (24,094 days);19 years, 116 days (7,056 days);Jun 28, 1836;85 years, 104 days (31,150 days)
    ...

    In het vervolg zullen we de commentaarregel weglaten uit het resultaat om plaats te besparen. Maar onthoud dat de commentaarregel door je commando's niet mag gewijzigd worden.

  2. Voor presidenten die nog leven staat er geen datum in het veld met de datum van overlijden. Duidt het feit dat ze nog leven expliciet aan door de tekst alive in te vullen in dit veld. We krijgen dan (presidents.2.txt4)

    ...
    41;George H. W. Bush;Jun 12, 1924;Jan 20, 1989;64 years, 222 days (23,598 days);Jan 20, 1993;68 years, 222 days (25,059 days);23 years, 355 days (8,757 days);alive;92 years, 211 days (33,814 days)
    42;Bill Clinton;Aug 19, 1946;Jan 20, 1993;46 years, 154 days (16,956 days);Jan 20, 2001;54 years, 154 days (19,878 days);15 years, 355 days (5,835 days);alive;70 years, 143 days (25,711 days)
    43;George W. Bush;Jul 6, 1946;Jan 20, 2001;54 years, 198 days (19,922 days);Jan 20, 2009;62 years, 198 days (22,844 days);7 years, 355 days (2,913 days);alive;70 years, 187 days (25,755 days)
    44;Barack Obama;Aug 4, 1961;Jan 20, 2009;47 years, 169 days (17,336 days);Jan 20, 2017;55 years, 169 days (20,258 days);;alive;55 years, 158 days (20,247 days)
    45;Donald Trump;Jun 14, 1946;Jan 20, 2017;70 years, 220 days (25,788 days);;;;alive;70 years, 209 days (25,777 days)
  3. Wijzig in de vier datumvelden het formaat van Mon d yyyy naar d Mon yyyy. We krijgen dan (presidents.3.txt5)

    1;George Washington;22 Feb 1732;30 Apr 1789;57 years, 67 days (20,887 days);4 Mar 1797;65 years, 10 days (23,752 days);2 years, 285 days (1,015 days);14 Dec 1799;67 years, 295 days (24,767 days)
    2;John Adams;30 Oct 1735;4 Mar 1797;61 years, 125 days (22,406 days);4 Mar 1801;65 years, 125 days (23,866 days);25 years, 122 days (9,253 days);4 Jul 1826;90 years, 247 days (33,119 days)
    3;Thomas Jefferson;13 Apr 1743;4 Mar 1801;57 years, 325 days (21,144 days);4 Mar 1809;65 years, 325 days (24,066 days);17 years, 122 days (6,331 days);4 Jul 1826;83 years, 82 days (30,397 days)
    4;James Madison;16 Mar 1751;4 Mar 1809;57 years, 353 days (21,172 days);4 Mar 1817;65 years, 353 days (24,094 days);19 years, 116 days (7,056 days);28 Jun 1836;85 years, 104 days (31,150 days)
    5;James Monroe;28 Apr 1758;4 Mar 1817;58 years, 310 days (21,494 days);4 Mar 1825;66 years, 310 days (24,416 days);6 years, 122 days (2,313 days);4 Jul 1831;73 years, 67 days (26,729 days)
  4. Zorg ervoor dat in de vier velden die een tijdsperiode aanduiden enkel de duur van de tijdsperiode uitgedrukt in dagen behouden blijft (de tijdsaanduiding die initieel tussen ronde haakjes stond). Hierbij moeten ook de suffix ␣days en de komma's tussen de cijfers van de tijdsduur uitgedrukt in dagen verwijderd worden. We krijgen dan (presidents.4.txt6)

    1;George Washington;22 Feb 1732;30 Apr 1789;20887;4 Mar 1797;23752;1015;14 Dec 1799;24767
    2;John Adams;30 Oct 1735;4 Mar 1797;22406;4 Mar 1801;23866;9253;4 Jul 1826;33119
    3;Thomas Jefferson;13 Apr 1743;4 Mar 1801;21144;4 Mar 1809;24066;6331;4 Jul 1826;30397
    4;James Madison;16 Mar 1751;4 Mar 1809;21172;4 Mar 1817;24094;7056;28 Jun 1836;31150
    5;James Monroe;28 Apr 1758;4 Mar 1817;21494;4 Mar 1825;24416;2313;4 Jul 1831;26729
    ...
  5. Sorteer de lijst van presidenten volgens dalende levensduur (waardoor de langst levende presidenten helemaal bovenaan komen te staan). Zorg er evenwel voor dat de volgnummers in oplopende volgorde blijven staan, te beginnen vanaf 1. We krijgen dan (presidents.5.txt7)

    1;Gerald Ford;14 Jul 1913;9 Aug 1974;22306;20 Jan 1977;23201;10932;26 Dec 2006;34133
    2;Ronald Reagan;6 Feb 1911;20 Jan 1981;25551;20 Jan 1989;28473;5615;5 Jun 2004;34088
    3;George H. W. Bush;12 Jun 1924;20 Jan 1989;23598;20 Jan 1993;25059;8757;alive;33814
    4;Jimmy Carter;1 Oct 1924;20 Jan 1977;19104;20 Jan 1981;20565;13140;alive;33703
    5;John Adams;30 Oct 1735;4 Mar 1797;22406;4 Mar 1801;23866;9253;4 Jul 1826;33119
    ...

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indien van je oplossing voor deze opgave:

Epiloog

Hieronder staat een grafische tijdslijn met de levensduur van de presidenten van de Verenigde Staten. Sinds het presidentschap in 1789 werd ingevoerd, zijn er vierenveertig personen die president van de Verenigde Staten geweest zijn. Ze worden opgelijst in chronologische volgorde van uitoefening van hun presidentschap (Grover Cleveland is de enige president die het ambt tijdens twee onderbroken periodes heeft uitgeoefend; hij werd opgenomen in de volgorde van zijn eerste presidentschap).

tijdslijn van Amerikaanse presidenten
Tijdslijn van Amerikaanse presidents.

Het gebeurt zelden dat zoveel voormalige Amerikaanse presidenten samen te zien zijn. Meestal is dit voor officiële gebeurtenissen zoals de inauguratie van een nieuwe president, maar op 21 oktober 2017 waren de vijf voormalige presidenten Jimmy Carter, George H.W. Bush, Bill Clinton, George W. Bush en Barack Obama samen te zien op een benefiet concert dat geld inzamelde voor de slachtoffers van de orkanen Harvey, Irma en Maria. George H.W. Bush had op dat moment al een vorm van Parkinson waardoor hij zich in een rolstoel bevond.

vijf voormalige amerikaanse presidenten
Vijf voormalige amerikaanse presidenten samen op één foto. Van links naar rechts: George H. W. Bush, Barack Obama, George W. Bush, Bill Clinton en Jimmy Carter.