Toen Walter A. Anderson en Edgar Waldo "Billy" Ingram in 1921 de White Castle1 fastfoodketen oprichtten in de Verenigde Staten, was het vermoedelijk de eerste maar zeker niet de laatste van zijn soort. Ondertussen is de fastfoodindustrie een zeer grote, lucratieve industrie geworden, die maar blijft groeien omdat mensen steeds minder tijd nemen om zelf te koken. Amerikaanse fastfoodketens zoals McDonald's2 (opgericht in 1940) en KFC3 (opgericht in 1952) zijn multinationals geworden met vestigingen over de hele wereld.

Fastfoodrestaurants
Aangrenzende reclameborden voor fastfoodrestaurants in Bowling Green, Kentucky (US): KFC4, Taco Bell5, Wendy's6 en Krystal Burgers7

In 1951 was Merriam–Webster het eerste woordenboek dat melding maakte van de term fast food.

Opgave

Het tekstbestand fastfood.txt8 bevat de locatie van enkele Amerikaanse fastfoodrestaurants. Elke regel van het bestand bevat informatie over één fastfoodrestaurant, bestaande uit tien of meer velden die van elkaar gescheiden worden door tabs: i) straatnaam, ii) stad, iii) land, iv) unieke code, v) breedtegraad, vi) lengtegraad, vii) naam, viii) postcode, ix) provincie en x) URLs9 van websites. Als er meerdere URLs van websites gegeven worden, dan zijn die ook van elkaar gescheiden door tabs. De eerste regel van het tekstbestand bevat de namen van de velden, van elkaar gescheiden door tabs. Je mag ervan uitgaan dat de informatievelden zelf geen tabs en puntkomma's bevatten.

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 bestaat uit zo weinig mogelijk tekens. Alle opdrachten moeten na elkaar uitgevoerd worden. De opdrachten mogen de eerste regel niet wijzigen, tenzij dit expliciet anders vermeld staat. Ter controle kan je gebruikmaken van de meegeleverde bestanden fastfood.i.txt (ZIP10), die telkens de inhoud van het bestand bevatten nadat de $$i$$-de opdracht werd uitgevoerd.

  1. Vervang alle tabs door puntkomma's, behalve tussen twee URLs van websites. Deze vervanging moet ook op de eerste regel doorgevoerd worden. Zo moet

    address city    country keys    latitude        longitude       name    postalCode      province        websites
    324 Main St     Massena US      us/ny/massena/324mainst/-1161002137     44.9213 -74.89021       McDonald's      13662   NY      http://mcdonalds.com    http://www.mcdonalds.com/?cid=RF:YXT_FM:TP::Yext:Referral
    530 Clinton Ave Washington Court House  US      us/oh/washingtoncourthouse/530clintonave/-791445730     39.53255        -83.44526       Wendy's 43160   OH     http://www.wendys.com
    408 Market Square Dr    Maysville       US      us/ky/maysville/408marketsquaredr/1051460804    38.62736        -83.79141       Frisch's Big Boy        41056  KY       http://www.frischs.com  https://www.frischs.com/location/maysville-ky/
    6098 State Highway 37   Massena US      us/ny/massena/6098statehighway37/-1161002137    44.95008        -74.84553       McDonald's      13662   NY      http://mcdonalds.com    http://www.mcdonalds.com/?cid=RF:YXT_FM:TP::Yext:Referral
    …

    bijvoorbeeld omgezet worden naar (fastfood.1.txt11)

    address;city;country;keys;latitude;longitude;name;postalCode;province;websites
    324 Main St;Massena;US;us/ny/massena/324mainst/-1161002137;44.9213;-74.89021;McDonald's;13662;NY;http://mcdonalds.com   http://www.mcdonalds.com/?cid=RF:YXT_FM:TP::Yext:Referral
    530 Clinton Ave;Washington Court House;US;us/oh/washingtoncourthouse/530clintonave/-791445730;39.53255;-83.44526;Wendy's;43160;OH;http://www.wendys.com
    408 Market Square Dr;Maysville;US;us/ky/maysville/408marketsquaredr/1051460804;38.62736;-83.79141;Frisch's Big Boy;41056;KY;http://www.frischs.com      https://www.frischs.com/location/maysville-ky/
    6098 State Highway 37;Massena;US;us/ny/massena/6098statehighway37/-1161002137;44.95008;-74.84553;McDonald's;13662;NY;http://mcdonalds.com       http://www.mcdonalds.com/?cid=RF:YXT_FM:TP::Yext:Referral
    …
  2. Verwijder de kolom met de unieke code (keys) en behoud enkel de eerste URL (website). Het verwijderen van de kolom moet ook op de eerste regel doorgevoerd worden. We krijgen dan (fastfood.2.txt12)

    address;city;country;latitude;longitude;name;postalCode;province;websites
    324 Main St;Massena;US;44.9213;-74.89021;McDonald's;13662;NY;http://mcdonalds.com
    530 Clinton Ave;Washington Court House;US;39.53255;-83.44526;Wendy's;43160;OH;http://www.wendys.com
    408 Market Square Dr;Maysville;US;38.62736;-83.79141;Frisch's Big Boy;41056;KY;http://www.frischs.com
    6098 State Highway 37;Massena;US;44.95008;-74.84553;McDonald's;13662;NY;http://mcdonalds.com
    …
  3. Behoud enkel de domeinnaam uit de URL13 van de website. Zo moet

    …
    4182 Tonya Trl;Hamilton;US;39.4176;-84.47641;Domino's Pizza;45011;OH;https://www.dominos.com/en/?redirect=homepage
    …
    613 W Center St;Sheridan;US;34.30687;-92.40784;SONIC Drive In;72150;AR;https://locations.sonicdrivein.com/ar/sheridan/613-w--center-street.html
    …
    1423 Southwest Pkwy;Wichita Falls;US;33.85371;-98.50065;McDonald's;76302;TX;http://www.mcdonalds.com/?cid=RF:YXT_FM:TP::Yext:Referral
    …

    bijvoorbeeld omgezet worden naar (fastfood.3.txt14)

    …
    4182 Tonya Trl;Hamilton;US;39.4176;-84.47641;Domino's Pizza;45011;OH;www.dominos.com
    …
    613 W Center St;Sheridan;US;34.30687;-92.40784;SONIC Drive In;72150;AR;locations.sonicdrivein.com
    …
    1423 Southwest Pkwy;Wichita Falls;US;33.85371;-98.50065;McDonald's;76302;TX;www.mcdonalds.com
    …
  4. Verplaats de kolom met de naam van het restaurant (name) zodat het de eerste kolom wordt. Deze verplaatsing moet ook op de eerste regel doorgevoerd worden. We krijgen dan (fastfood.4.txt15)

    name;address;city;country;latitude;longitude;postalCode;province;websites
    McDonald's;324 Main St;Massena;US;44.9213;-74.89021;13662;NY;mcdonalds.com
    Wendy's;530 Clinton Ave;Washington Court House;US;39.53255;-83.44526;43160;OH;www.wendys.com
    Frisch's Big Boy;408 Market Square Dr;Maysville;US;38.62736;-83.79141;41056;KY;www.frischs.com
    McDonald's;6098 State Highway 37;Massena;US;44.95008;-74.84553;13662;NY;mcdonalds.com
    …
  5. Sorteer de fastfoodrestaurants in oplopende volgorde per locatie: eerst per land (country), dan per provincie (province), dan per stad (city) en tenslotte per straatnaam (address). Het sorteren moet gebeuren in de traditionele sorteervolgorde volgens de individuele waarde van de bytes. We krijgen dan (fastfood.5.txt16)

    name;address;city;country;latitude;longitude;postalCode;province;websites
    McDonald's;1166 N Muldoon Rd;Anchorage;US;61.203697;-149.74467;99504;AK;mcdonalds.com
    Regal Cinemas Tikahtnu  16 IMAX & RPX;1299 N Muldoon Rd.;Anchorage;US;61.22662692;-149.7408595;99504;AK;www.regmovies.com
    Arby's;320 W 5th Ave;Anchorage;US;61.217082;-149.887645;99501;AK;
    Arby's;800 E Dimond Blvd 025;Anchorage;US;61.14323525;-149.86685425;99515;AK;www.arbys.com
    …

Richtlijnen bij het indienen

Volg aandachtig onderstaande richtlijnen bij het indienen van je oplossing:

Epiloog

Waarom zijn escargots (slakken) een delicatesse in Frankrijk?

escargots
Klaargemaakte escargots.
Omdat de Fransen niet houden van fast food!